Maven项目创建全攻略:从安装配置到依赖管理实战
2026/10/1 4:01:30
这两天真有点忙,期末的实验最难做了!
了解了css的一些特性,一直没觉得css没多难,但是学着学着发现,选择器这东西像是石山
尤其是选择器权重更是重量级的石山,就没有更简单一点的办法?
有没有懂的能告诉我?
复合选择器是由两个或多个基础选择器,通过特定的方式组合而成,用于更精准地定位 HTML 元素。
.box p),选择父元素内所有的后代元素。>隔开(如.box > p),只选择亲儿子层级的元素。,隔开,集体声明,多个选择器共享同一套样式。div.red),既是 div 又是 .red 的元素(注意:标签名必须写在前面)。伪类本质上是用来描述元素处于某种特定状态的类。
链接伪类(遵循 LVHA 顺序编写):
:link:未访问的链接状态。:visited:已访问后的链接状态。:hover:鼠标悬停状态(最常用)。:active:鼠标点击按下但未松开的状态。补充知识:除了链接,还有结构伪类(如
:first-child,:nth-child(n))和行为伪类(如:focus焦点状态),它们在布局中也非常高效。
子元素会继承父元素的某些样式。
font-size,font-family,color,line-height,text-align。margin,padding,border,width,height等。当同一个元素被设置了多个相同的属性时,CSS 的冲突处理机制。
优先级决定了哪条规则最终生效。我们可以用一套“权重权重计分表”来快速判断:
| 选择器类型 | 权重权重(数值表示) | 说明 |
|---|---|---|
!important | ∞\infty∞(无穷大) | 强制生效,尽量少用 |
| 行内样式 | (1,0,0,0)(1, 0, 0, 0)(1,0,0,0) | 写在标签style属性里 |
| ID 选择器 | (0,1,0,0)(0, 1, 0, 0)(0,1,0,0) | 如#header |
| 类/伪类/属性选择器 | (0,0,1,0)(0, 0, 1, 0)(0,0,1,0) | 如.content,:hover |
| 标签选择器 | (0,0,0,1)(0, 0, 0, 1)(0,0,0,1) | 如div,p |
| 通配符/继承 | (0,0,0,0)(0, 0, 0, 0)(0,0,0,0) | *权重最低 |
nav ul li的权重是0,0,0,30,0,0,30,0,0,3;而.nav ul li是0,0,1,20,0,1,20,0,1,2。后者胜出。CSS 的background属性不仅能设置颜色,还能精细控制图片的显示。
CSS
.the-image{width:300px;height:300px;background-color:pink;/* 背景颜色 */background-image:url(../image/cuteReisentyan.jpg);/* 背景图片路径 */background-repeat:no-repeat;/* 不平铺/不重复 */background-size:contain;/* 图片缩放模式:cover(充满) 或 contain(完整显示) */background-position:center center;/* 图片水平垂直居中 */background-attachment:fixed;/* 背景固定,不随页面滚动 */}补充:背景复合写法(Shorthand)为了简化代码,通常写成一行:background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置 / 背景尺寸;(注:背景尺寸必须紧跟在位置后面并用斜杠隔开)
理解显示模式是掌握网页布局(尤其是后续 Flex 布局)的前提。
div,h1~h6,p,ul,li。span,a,i,em。img,input,td。模式转换:使用display属性
display: block;:转换为块级(常用:让<a>标签可设置宽高)。display: inline;:转换为行内。display: inline-block;:转换为行内块。display: none;:隐藏元素(不占位)。