内容简介:通过元素类型通过 属性 / 属性值 匹配一个或多个元素。Presence
通过元素类型 tagName
、 *
、 .class
或 #id
匹配一个或多个元素。
(2)、属性选择器
通过 属性 / 属性值 匹配一个或多个元素。
Presence
类型 | 匹配结果 |
---|---|
[ attr ] |
匹配包含 attr 属性的所有元素 |
[ attr = val ] |
匹配 attr 属性值为 val 的所有元素 |
[ attr ~= val ] |
匹配 attr 属性中包含 val 词汇( space-separated )的所有元素 |
Substring
类型 | 匹配结果 |
---|---|
[ attr ^= val ] |
匹配 attr 属性中以 val 开头的所有元素 |
[ attr |= val ] |
匹配 attr 属性中以 val 或者 val- 开头的所有元素 |
[ attr $= val ] |
匹配 attr 属性中以 val 结尾的所有元素 |
[ attr *= val ] |
匹配 attr 属性中包含 val 的所有元素 |
(3)、伪类和伪元素
伪类:匹配元素的相关状态和属性,如 :hover
:first-child
:nth-child()
,单冒号。
伪元素:匹配元素的相关位置, 如 ::after
::first-letter
::selection
,双冒号。
(4)、组合选择器
组合选择器:组合使用多个选择器。
类型 | 组合 | 匹配结果 |
---|---|---|
选择器组 | A , B | 匹配 A or B选择器规则 |
后代选择器 | A B | 匹配B选择器规则,且B是A的后代(子孙) |
子代选择器 | A > B | 匹配B选择器规则,且B是A的子代(必须是直接子代) |
相邻兄弟选择器 | A + B | 匹配B选择器规则,且B是A的弟弟(AB属于同一父代,且B紧跟A的后面) |
任一兄弟选择器 | A - B | 匹配B选择器规则,且B是A的任意弟弟(AB属于同一父代,且B在A之后,不一定紧挨) |
2.2、选择器优先级
优先级按以下规则递增:
- 通配符
*
、组合选择器(, > + -
'')和否定伪类
:not()
对优先级没有影响(在:not()
内部声明的选择器还是会按照规则影响) - 浏览器默认样式
- 元素类型选择器
tagName
、伪元素选择器::
- 类选择器
.class
、 属性选择器[ attr ]
、伪类选择器:
- id选择器
#id
- 内联样式
< tagName style="" >
-
!important
3、值和单位
3.1、值
- 数值 - 百分比 - 颜色:背景颜色 background-color 文字颜色 color 边框颜色 border - colorName - HEX - RGB - HSL - RGBA HSLA - Opacity - 函数 - rgb() rgba() hsla() linear-gradient() - rotate() translate() - calc() - url() 复制代码
3.2、单位
- px - em em are the most common **relative** unit you'll use in web development. - rem - ex ch - vw vh - 无单位值 - 动画 s deg 复制代码
4、继承
5、盒模型
5.1、盒模型基础
-
margin
:外边距,颜色透明 -
border
:边框 -
padding
:内边距,颜色透明 -
content
:盒子内容-
width
和height
:Content
的宽度和高度,默认为auto
,即浏览器自动计算。 -
max-width/min-width
min-height/max-height
-
注意!再提一下,设置元素的 width
和 height
,实际上是设置的 content
区域的 width
和 height
。 元素的实际尺寸 还需计算 padding
、 border
和 margin
。 有几种计算模型需要了解:
- w3c 标准盒模型
Total element width = width + left padding + right padding + left border + right border + left margin + right margin Total element height = height + top padding + bottom padding + top border + bottom border + top margin + bottom margin 复制代码
- IE 盒模型
5.4、轮廓 outline
OUTSIDE the borders
, to make the element "stand out".
轮廓指的是边框外的区域,目的是为了设置使元素显得 突出 的样式
5.2、溢出 overflow
溢出 overflow
控制的是内容区域 content
太大而溢出一片区域时候的情况。
值 | 匹配结果 |
---|---|
visible |
默认值,溢出部分不会被裁减,内容区域 content 会渲染到元素盒子之外 |
hidden |
溢出部分会被裁减, 不可见 |
scroll |
溢出部分会被裁减,但会出现滚动条以查看内容(始终存在垂直和水平滚动条) |
auto |
和 scroll 相似,但只会在必要时,出现滚动条(只有溢出的方向出现滚动条) |
5.3、背景剪裁 background-Clip
background-clip: border-box|padding-box|content-box|initial|inherit; 复制代码
5.5、盒子类型 display
5.6、外边距合并
块级格式化上下文 BFC
BFC ( block-formatting contexts )
- Understanding CSS Layout And The Block Formatting Context
- how to create BFC | MDN
- CSS: What is Block Formatting Context (BFC)?
6、调式CSS
Chrome开发者 工具 使用指南 | Google Developer
7、媒体查询 @media
@media not|only mediatype and (expressions) { CSS-Code; } 复制代码
<link rel="stylesheet" media="mediatype and|not|only (expressions)" href="print.css"> 复制代码
参考:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JAVA核心技术卷2
Cay S. Horstmann、Gary Cornell / 陈昊鹏、王浩、姚建平 / 机械工业出版社 / 2008-12 / 118.00元
《JAVA核心技术卷2:高级特征》是Java技术权威指南,全面覆盖Java技术的高级主题,包括流与文件、XML、网络、数据库编程、高级Swing、高级 AWT、JavaBean构件、安全、分布式对象、脚本、编译与注解处理等,同时涉及本地化、国际化以及Java SE 6的内容。《JAVA核心技术卷Ⅱ:高级特征》对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Jav......一起来看看 《JAVA核心技术卷2》 这本书的介绍吧!