CSS学习|这一篇就够了|笔记|总结|(超详细讲解)

news2024/12/27 21:01:55

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:老茶icon
🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • 课程名:CSS
    • 内容/作用:知识点/设计/实验/作业/练习
    • 学习:CSS基础
  • CSS
  • CSS语法
  • 选择器
    • ID选择器
    • 类选择器
    • 元素选择器/HTML选择器/标签选择器
    • 后代选择器
    • 群组选择器
  • CSS写在哪里
    • 写在某个标签的style属性中
    • 写在head标签下的style标签中
    • 写在一个独立的css文件中
    • 选择器的优先级
  • 常用样式
    • 尺寸
    • 背景background
      • 背景渐变
    • 边框border
    • 字体
    • 文本
    • 列表
    • 鼠标样式cursor
    • 伪类
    • 显示方式display
    • 浮动float
      • float:left和display:inline-block的区别
        • display:inline-block
        • float:left
    • 盒子模型
      • 盒子模型阴影
    • 溢出overflow
    • 定位position
      • 配合定位使用样式
      • 文档流
      • 固定定位fixed
      • 绝对定位absolute
      • 相对定位relative
    • 层叠z-index
    • 不透明度opacity
    • 转换transform
    • 过渡transition
    • 自定义动画animation
    • 滤镜filter
  • 总结

课程名:CSS

内容/作用:知识点/设计/实验/作业/练习

学习:CSS基础

CSS

Cascading Style Sheets 层叠样式表

用于控制HTML中标签样式的语言。

可以精确到像素,用于美化HTML标签。

CSS语法

样式名:样式值;

选择器

用于选中页面中元素(标签)的工具

ID选择器

1.给某个标签添加id的属性,对其命名

2.通过**#id名**获取

通常用于获取某一个元素,id名称不要冲突

类选择器

1.给某些标签添加class的属性,对其命名

2.通过**.class名**获取

通过用于获取一组元素

元素选择器/HTML选择器/标签选择器

直接通过标签名获取元素,获取所有对应标签。

后代选择器

*表示所有元素

  • 空格
    • 得到所有子元素
  • >
    • 得到第一层子元素
div p{
    /*得到div下的所有子元素p*/
}
div>p{
    /*得到div下第一层子元素p*/
}
div *{
    /*得到div中的所有子元素*/
}

群组选择器

使用逗号将多个选择器同时选中

p,#md,.mp{
    
}
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            p{
                color: green;
            }
            /* #test{
            color: red;
            } */
            #mp{
                color: red;
            }
            .mp{
                color: blue;
            }
            /* #md下的所有子标签p */
            #md p{
                font-size: 18px;
            }
            /* #md下的第一层标签p */
            #md>p{
                background-color: cadetblue;
            }
            #md,#md2{
                font-weight: bold;
            }
        </style>
    </head>
    <body>
        <div id="md">
            <p id="mp">这是一段文字</p>
            <p class="mp">这是一段文字</p>
            <p class="mp">这是一段文字</p>
            <p>这是一段文字</p>
            <p>这是一段文字</p>
            <div id="md2">
                <p>这是一段文字</p>
                <p class="mp" id="test" style="color: black;">这是一段文字</p>
                <p>这是一段文字</p>
            </div>
        </div>
    </body>
</html>

CSS写在哪里

写在某个标签的style属性中

<div style="样式名:;">
    
</div>

写在head标签下的style标签中

<html>
    <head>
        <style>
            选择器{
                样式:;
                样式:;
            }
        </style>
    </head>
</html>

写在一个独立的css文件中

1.新建一个.css文件,在其中编写css样式

*{
    margin:0;
    padding:0;
}

2.在页面中通过link标签导入

<html>
    <head>
        <!--导入css文件-->
        <link rel="stylesheet" href="xxx.css">
    </head>
</html>

选择器的优先级

内嵌在style标签 >> id选择器 >> class选择器 >> 标签选择器

在选择某个元素时,尽量将其层次关系写具体,如a b c{}

常用样式

尺寸

只有块级元素才能设置尺寸。

如果要对某个行内元素设置尺寸,需要先将其转换为块级元素。

相关样式名举例
widthpx/百分比/vwwidth:100px/50%/30vw;
heightpx/百分比/vhheight:100px/50%/30vh;

背景background

样式名作用
background-color背景色颜色的单词、十进制RGB、十六进制RGB
background-image背景图url(图片路径)
background-size背景图片尺寸cover覆盖、百分比。
cover会完全将区域覆盖。100%会完整显示图片。
background-position背景图片位置10px表示同时向下和向右移动10px
background-repeat背景图片是否重复默认重复
no-repeat不重复
repeat-x表示x轴重复
repeat-y表示y轴重复
background-attachment背景图片固定fixed表示将背景图片固定,不随滚动条滚动
background背景样式简写可以同时设置以上多个参数,如
background:#f00 url(图片地址) no-repeat center
表示图片能加载则显示图片,不能加载显示背景色,背景图不重复,居中显示

背景渐变

渐变色css代码自动生成https://uigradients.com

background: linear-gradient(to 方向, 颜色1, 颜色2,颜色3...)
方向:left  right   top  bottom
background: linear-gradient(to right, #fdeff9, #ec38bc)

边框border

边框会"套"在元素外层,元素原本大小不变,最终所占页面区域大小为元素大小+边框宽度

边框相关样式作用
border-style边框线条样式solid、double、dashed、dotted
border-width边框宽度px
border-color边框颜色颜色的三种写法
border同时设置所有边框线条、宽度和颜色border:1px solid red
border-方向-样式某方向的style或width或color,方向为left、right、top、bottomborder-left-color:red
border-方向同时设置某边框线条、宽度和颜色border-top:1px dotted blue;
border-上下方向-左右方向-radius设置某个方向的边框为圆角。
border-radius同时设置四个角为圆角。如果正方形,值为边长的一半,则为圆形
outline轮廓。input文本框默认获得焦点时,会显示一个轮廓,通常设置为none去掉轮廓
border-collapse合并相邻边框。通常用于合并表格中的td的边框。表格{border-collapse:collapse}

字体

样式名作用
font-size字体大小像素。默认16px,最小12px
font-weight字体粗细lighter细,bolder粗
font-family字体字型默认微软雅黑

文本

样式名作用
color文本颜色颜色的三种写法
text-decoration文本修饰underline下划线 line-through删除线 overline上划线
通常给页面中的所有a标签设置text-decoration:none去掉a标签默认的下划线
text-align文本对齐方式默认left左对齐,right右对齐,center居中
line-height行高设置为与文字相同大小时,行间距为0。"垂直居中"时,将行高设置为容器高度。
text-indent首行缩进根据文字大小设置缩进的像素。如默认文字16px,首行缩进2个字符,则设置为32px;
text-shadow文本阴影颜色 水平位置 垂直位置 模糊程度。如#000 4px 5px 3px表示水平向右4px,垂直向下5px,模糊3px
letter-spacing字符间距像素
word-break英文换行方式默认break-word以单词为单位换行,不会拆分单词。
break-all以字母为单位换行,会拆分单词。

列表

样式名作用
list-style-type设置列表li前的标记通常设置为none去除标记
list-style-position设置列表li前的标记的位置默认outside,标记位于li之外;inside表示标记位于li之中
list-style-image设置列表li前的标记为图片url(图片地址)

鼠标样式cursor

效果
pointer指示链接的指针(手)
move可移动的十字箭头
help带问号的箭头
progress带载入的箭头
wait载入状态
crosshair十字线
text光标

伪类

表示某个元素的某种状态

用于对某些元素在不同的状态下呈现不同的效果

如a标签有访问前、悬停时、按下时、访问后四种状态对应四个伪类

a标签的伪类作用
a:link未访问时
a:hover鼠标悬停
a:active鼠标按下
a:visited访问后

:hover可以适用于很多标签,如#xx:hover,表示鼠标悬停在id为xx的元素上时

追加内容,通过context属性编辑追加的内容,同时可以设置其他样式。

在某个元素之前或之后插入内容说明
:after之后
:before之前
<!DOCTYPE html>
<html>
    <head>
        <style>
            p:after
            {
                content:"追加的内容";
                color:red;
                xx:xx;
            }
        </style>
    </head>

    <body>
        <p>My name is Donald</p>
        <p>I live in Ducksburg</p>
    </body>
</html>

显示方式display

控制元素的类型或是否显示。

作用
block将元素设置为块级元素,这样元素就能独占一行,能设置尺寸
inline将元素设置为行内元素,这样元素占一行中的一部分,不能设置尺寸
inline-block将元素设置为行内块,这样元素占一行中的一部分,能设置尺寸
none将元素不显示,不保留元素位置

浮动float

让某个元素脱离原本的位置,朝某个方向对齐

作用
left向左浮动
right向右浮动
none清除浮动

float:left和display:inline-block的区别

相同点:都能让多个块级元素成为行内块。

display:inline-block

多个元素最终位于同一行内,可以设置尺寸,元素以下线对齐,保留该行位置,保留元素间的缝隙,后续元素为新的一行

在这里插入图片描述

float:left

多个元素最终位于同一行内,可以设置尺寸,元素以上线对齐,不保留该行位置,不保留元素间的缝隙,后续元素会紧邻

在这里插入图片描述

盒子模型

页面中的所有块级元素,都是一个"盒子",每个"盒子"由元素自身、内边距padding、边框border、外边距marjin组成。

边框border:元素外的一圈

内边距padding:边框与元素自身之间的距离

外边距marjing:元素A的边框与元素B的边框之间的距离

在这里插入图片描述

盒子模型相关样式作用
padding内边距。1个参数表示同时设置4个方向。2个参数表示上下 左右。3个参数表示上 左右 下。4个参数表示上 右 下 左顺时针。
margin外边距。1个参数表示同时设置4个方向。2个参数表示上下 左右。3个参数表示上 左右 下。4个参数表示上 右 下 左顺时针。如果值设置为auto,表示自动将所在的容器剩余距离除以2。
padding-方向某个方向的内边距。方向可以是left、right、top、bottom
margin-方向某个方向的外边距。

一个元素的所占位置是外边距+边框+内边距+元素自身大小。

如果让某个块级元素居中,使用margin:上下距离 auto;

盒子模型阴影

元素{
    box-shadow:#000 4px 4px 4px;
}

溢出overflow

处理子元素超出父元素的部分

作用
visible默认,溢出部分显示
hidden溢出部分隐藏
scroll溢出部分使用滚动条控制

定位position

将元素以像素为单位调整位置

含义作用
fixed固定定位让元素固定在页面的某个位置,不会页面的滚动而改变位置。
absulote绝对定位
relative相对定位

配合定位使用样式

作用
left元素距离页面左边界的左右距离正值向右,负值向左
top元素距离页面上边界的上下距离正值向下,负值向上
right元素距离页面右边界的左右距离正值向左,负值向右
bottom元素距离页面下边界的上下距离正值向上,负值向下

文档流

页面中每个元素默认都有自己的位置,这个位置称为文档流。

如果某个元素脱离文档流,就会失去它原本所占的位置,后续元素就会顶替其位置。

可以通过浮动float固定定位positon:fixed绝对定位positon:absolute让元素脱离文档流。

脱离文档流后,通过改变left、right、top和bottom移动其位置。

固定定位fixed

让某个元素脱离文档流,默认根据页面的四个边界进行定位。

绝对定位absolute

让某个元素脱离文档流,根据已定位的父元素进行定位。如果没有已定位的父元素,会根据body定位。

相对定位relative

元素不会脱离文档流,根据它原本的位置进行定位,定位原点是元素本身的位置。

层叠z-index

对于已定位的元素,可以通过z-index调整层叠顺序,值是一个数字,越大离眼睛越近。

#md1{
    position:relative; 
    z-index:10;
}
#md2{
    position:relative; 
    z-index:0;
}

不透明度opacity

设置某个元素的不透明度,0~1之间的小说表示不透明度。1完全不透明,0完全透明。

如果只是定义背景透明时,使用rgba(red,green,blue,alpha),alpha使用

div{
    /*让div中的所有内容都半透明,如文字*/
    background-color:#000;
    opacity:0.5;

    
    /*让div背景半透明,其中的内容不受影响*/
    background-color:rgba(0,0,0,0.5);
}

转换transform

改变元素的状态,如旋转、移动、缩放等

rotate(30deg)顺时针2D旋转30度
rotateX/Y/Z(30deg)沿X/Y/Z轴3D旋转30度
translateX/Y(50px)朝X或Y轴平移50像素
translate(10px,30px)朝右移动像素px,下移动30像素
scale(1.5)缩放1.5倍

以上所有效果可以通过transform:效果1 效果2 … 同时设置

transform: rotate(30deg) translateX(100px) scale(1.2)

过渡transition

设置某个转换效果完成所需的时间等参数

相关样式作用
transition-duration:3s转换所需时间
transition-delay: 2s延时生效
transition-timing-function:linear时间函数,linear表示匀速
transition:4s 1s linear在1s后,匀速在4s内完成过渡

自定义动画animation

1.定义动画的关键帧

@keyframes 动画名{
    0%{
        /*该阶段的样式*/
        样式名:;
    }
    25%{}
    50%{}
    75%{}
    100%{}
}

2.给某个元素设置animation样式

#xxx{
    /*指定动画名*/
    animation-name:动画名;
	/*动画执行时间*/
    animation-duration:3s;
	/*延时*/
    animation-delay:3s;
    /*动画执行次数 infinite无限*/
    animation-iteration-count:4;
    /*动画时间函数 linear匀速  ease-in ease-out ease-in-out*/
    animation-timing-function:linear;
    
    /*简写 只写一个时间表示用时 写两个时间表示第一个是用时,第二个是延时*/
    animation:动画名 5s 2s infinite linear;
}
animation相关样式作用
animation-name:动画名执行指定动画
animation-duration:3s动画执行时间
animation-delay:3s动画延时时间
animation-iteration-count:3动画执行次数,infinite表示无限
animation-timing-function:linear动画执行时间函数,linear表示匀速
animation:动画名 5s 2s简写。只写一个时间表示用时 写两个时间表示第一个是用时,第二个是延时

滤镜filter

<div class="img_filter">
    <div style="filter: grayscale(100%);">灰度grayscale(100%)</div>
    <div style="filter: blur(2px);">模糊程度blur(2px)</div>
    <div style="filter: brightness(50%);">亮度brightness(50%)</div>
    <div style="filter: contrast(150%);">对比度contrast(150%)</div>
    <div style="filter: hue-rotate(180deg);">色相旋转hue-rotate(15deg)</div>
    <div style="filter: saturate(300%);">饱和度saturate(300%)</div>
    <div style="filter: sepia(100%);">深褐色sepia(100%)</div>
    <div style="filter: invert(100%);">颜色反转invert(100%)</div>
    <div style="filter: contrast(150%) saturate(150%) hue-rotate(30deg)">重叠滤镜</div>
</div>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0vQT80ym-1681376087661)(CSS.assets/image-20230403101926444.png)]

总结

   

往期专栏
Java全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/421823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

误删除文件怎么找回 数据恢复用这些方法

误删除文件是很多人都会遇到的问题&#xff0c;尤其是在Windows 10系统中&#xff0c;有时候我们不小心按了ShiftDelete或者清空了回收站&#xff0c;就会导致文件永久消失。那么&#xff0c;误删除文件怎么找回呢?本文将介绍四种数据恢复的方法&#xff0c;帮助你轻松将误删除…

【PCIE体系结构五】PCIE配置和地址空间

&#x1f449;个人主页&#xff1a;highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 参考书籍&#xff1a; PCI_Express体系结构导读、 深入浅出SSD&#xff1a;固态存储…

【Java版oj】day30最难的问题、因子个数

目录 一、最难的问题 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 二、因子个数 &#xff08;1&#xff09;原题再现 &#xff08;2&#xff09;问题分析 &#xff08;3&#xff09;完整代码 三、DFS深度优…

Python实现批量图片下载及去重处理

背景 在爬虫应用开发中&#xff0c;常常需要批量下载图片&#xff0c;并对图片进行去重处理。Python 是一种非常流行的编程语言&#xff0c;也是开发爬虫应用的首选&#xff0c;本文将介绍如何使用 Python 下载图片&#xff0c;并对下载的图片进行去重处理。 内容 首先&…

win10彻底永久关闭自动更新【亲测有效】

一、禁用Windows Update服务 1、同时按下键盘 Win R&#xff0c;打开运行对话框&#xff0c;然后输入命令 services.msc &#xff0c;点击下方的“确定”打开服务&#xff0c;如下图所示。 2、找到 Windows Update 这一项&#xff0c;并双击打开&#xff0c;如图所示。 3、右击…

【行为型模式】责任链模式

文章目录1、简介2、结构3、实现方式3.1、案例引入3.2、结构分析3.3、具体实现4、责任链优缺点5、应用场景1、简介 责任链模式(Chain of Responsibility)是一种行为型设计模式&#xff0c;它允许对象在链上依次处理请求&#xff0c;用户只需要将请求发送到责任链上即可&#xf…

CocosCreator实战篇 | 实现刮刮卡和橡皮擦 | 擦除效果

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/dxt19980308 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由肩匣与橘编写&#xff0c;首发于CSDN&#x1f649; &#x1f4e2;生活依旧是美好而…

【SSM框架】spring的创建与使用

spring的创建与使用Spring项目的创建创建一个maven项目添加Spring依赖添加启动类将bean存储到Spring 中创建bean对象将bean对象存储到Spring容器中从Spring中获取bean创建Spring(上下文)对象从Spring中获取到bean对象使用Bean&#xff08;非必须&#xff09;从spring中获取Bean…

奇瑞版Model 3与Model Y登场:正式进军高端纯电

作者 | Amy 编辑 | 德新4月7日&#xff0c;奇瑞在北京举办「新能源之夜」。整场发布会都在传递一个讯息&#xff1a;奇瑞搞新能源&#xff0c;要大搞特搞&#xff01; 奇瑞在这场发布会上&#xff0c;对新能源的战略、技术、品牌和产品作了全面梳理。其中最引人注目的是&#x…

环信web、uniapp、微信小程序sdk报错详解---注册篇(二、三)

项目场景&#xff1a; 记录对接环信sdk时遇到的一系列问题&#xff0c;总结一下避免大家再次踩坑。这里主要针对于web、uniapp、微信小程序在对接环信sdk时遇到的问题。 注册篇(二) 注册用户报错400 原因分析&#xff1a; 从console控制台输出及network请求返回入手分析 可以看…

【三十天精通Vue 3】第十一天 Vue 3 过渡和动画详解

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: 三十天精通 Vue 3 文章目录引言一、Vue 3 过度和动画概述1.1过度和动画的简介二、Vue 3 过度2…

Java 集合框架面试问题集锦

Java集合框架&#xff08;例如基本的数据结构&#xff09;里包含了最常见的Java常见面试问题。很好地理解集合框架&#xff0c;可以帮助你理解和利用Java的一些高级特性。下面是面试Java核心技术的一些很实用的问题。 Q&#xff1a;最常见的数据结构有哪些&#xff0c;在哪些场…

telnet远程管理linux主机及Zlib、openssl、openssh升级

目录 一、telnet远程管理主机 1、检查是否安装telnet 2、安装telnet服务 3、测试telnet登录 二、zlib、openssl、openssh升级 1、下载zlib包 2、下载openssl包 3、下载openssh包 4、 编译安装zlib 5、编译安装openssl 6、准备升级openssh环境 ①注意必须使用telne…

LLM 快人一步的秘籍 —— Zilliz Cloud,热门功能详解来啦!

最近&#xff0c;我们发布了可处理十亿级向量数据的 Zilliz Cloud GA 版本&#xff0c;为用户提供开箱即用的向量数据库服务&#xff0c;大大降低了数据库的运维成本。 看过上一篇文章《可处理十亿级向量数据&#xff01;Zilliz Cloud GA 版本正式发布》的朋友们知道&#xff0…

【SSM】Spring6(十.面向切面编程AOP)

文章目录1.AOP2. AOP的七大术语3. 切点表达式4.使用Spring的AOP4.1 环境准备4.2 基于AspectJ的AOP注解式开发步骤4.3 所有通知类型4.4 切面顺序4.5 通用切点4.6 获取目标方法的方法签名4.7 全注解式开发4.8 基于XML配置的AOP5. 案例&#xff1a;事务处理1.AOP 将与核心业务无关…

Visual Studio Code跳转到CSS定义

Visual Studio Code 快速跳转到 VUE文件 或 CSS文件的定义位置&#xff08;跳转到class定义&#xff0c;跳转到css定义&#xff09;&#xff0c;插件Css Peek、Vue Peek 对提升开发效率上&#xff0c;事半功倍。 目录 1、跳转到CSS定义 1.1、CSS Peek 1.2、Vue Peek 2、其他…

舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)

返回至系列文章导航博客 1 简介 在中医智能舌诊项目中需要舌体胖瘦的自动分析 舌体胖瘦是中医诊断中重要的观察依据&#xff0c;。胖大舌“舌色淡白&#xff0c;舌体胖嫩&#xff0c;比正常舌大而厚&#xff0c;甚至充满口腔”&#xff0c;主脾肾阳虚&#xff0c;气化失常&am…

C++无符号整型与有符号整型变量的运算-不简单

示例分析&#xff1a; #include<iostream> #include <stdio.h>struct Result {char c;char d;unsigned char e; };Result getChar(int x, int y) {Result res;unsigned int a x;(a y > 10) ? (res.c 1) : (res.c 2);res.d a y;res.e a y;return res; …

RHCE第一次作业at和cront两个任务管理程序的区别

1.at 单一执行的例行性工作&#xff1a;仅处理执行一次就结束了 -m 当任务完成之后&#xff0c;即使没有标准输出&#xff0c;将给用户发送邮件 -l atq的别名&#xff0c;可列出目前系统上面的所有该用户的at调度 -d atrm的别名,可以取消一个在at调度中的工作 -v 使用较明显的…

基于html+css的图片展示11

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…