Display属性
块级元素(block element)
块级元素总是从新行开始,并占据可用的全部宽度(尽可能向左和向右伸展)。
行内元素(inline element)
内联元素不从新行开始,仅占用所需的宽度。
Display: none;和visibility:hidden;
通过将 display
属性设置为 none
可以隐藏元素,不会占用空间,相当于“消失”。
visibility:hidden;
也可以隐藏元素,该元素仍将占用与之前相同的空间,相当于“隐形”。
position 属性
position
属性规定应用于元素的定位方法的类型。
有五个不同的位置值:
- static
- relative
- fixed
- absolute
- sticky
元素其实是使用 top、bottom、left 和 right 属性定位的。但是,除非首先设置了 position 属性,否则这些属性将不起作用。根据不同的 position 值,它们的工作方式也不同。
position: static;
HTML 元素默认情况下的定位方式为 static(静态)。
静态定位的元素不受 top、bottom、left 和 right 属性的影响。
position: fixed;
position: fixed;
的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。
fixed固定在某处地方不动。
position: sticky;
position: sticky;
的元素根据用户的滚动位置进行定位。
粘性元素根据滚动位置在相对(relative
)和固定(fixed
)之间切换。起先它会被相对定位,直到在视口中遇到给定的偏移位置为止 - 然后将其“粘贴”在适当的位置(比如 position:fixed)。
先是普通显示,当滚动屏幕超过了原来的位置,粘性元素将固定住顶端。
重叠元素
z-index
属性指定元素的堆栈顺序(哪个元素应放置在其他元素的前面或后面)。
设置为-1,相当于放在所有默认元素底部。类似于图层的概念。
CSS 溢出处理
overflow
属性指定在元素的内容太大而无法放入指定区域时是剪裁内容还是添加滚动条。
overflow
属性可设置以下值:
visible
- 默认。溢出没有被剪裁。内容在元素框外渲染hidden
- 溢出被剪裁,其余内容将不可见scroll
- 溢出被剪裁,同时添加滚动条以查看其余内容auto
- 与scroll
类似,但仅在必要时添加滚动条
注释:overflow
属性仅适用于具有指定高度的块元素。
CSS组合器
组合器是解释选择器之间关系的某种机制。
CSS 选择器可以包含多个简单选择器。在简单选择器之间,我们可以包含一个组合器。
CSS 中有四种不同的组合器:
- 后代选择器 (空格)
- 子选择器 (
>
) - 相邻兄弟选择器 (
+
) - 通用兄弟选择器 (
~
)
所有 CSS 组合选择器
选择器 | 示例 | 示例描述 |
---|---|---|
element element | div p | 选择 <div> 元素内的所有 <p> 元素。 |
element>element | div > p | 选择其父元素是 <div> 元素的所有 <p> 元素。 |
element+element | div + p | 选择所有紧随 <div> 元素之后的 <p> 元素。 |
element1~element2 | p ~ ul | 选择前面有 <p> 元素的每个 <ul> 元素。 |
详细解释见:https://www.w3school.com.cn/css/css_combinators.asp
伪类和伪元素
放两个例子看看使用效果,教程没有细讲伪类
https://www.w3school.com.cn/tiy/t.asp?f=css_pseudo-class_hover_tooltip
https://www.w3school.com.cn/tiy/t.asp?f=css3_selection
下拉式菜单
https://www.w3school.com.cn/css/css_dropdowns.asp
所有 CSS 属性选择器
选择器 | 例子 | 例子描述 |
---|---|---|
[attribute] | [target] | 选择带有 target 属性的所有元素。 |
[attribute=value] | [target=_blank] | 选择带有 target="_blank" 属性的所有元素。 |
[attribute~=value] | [title~=flower] | 选择带有包含 "flower" 一词的 title 属性的所有元素。 |
[attribute|=value] | [lang|=en] | 选择带有以 "en" 一词开头的 lang 属性的所有元素。 |
[attribute^=value] | a[href^="https"] | 选择其 href 属性值以 "https" 开头的每个 <a> 元素。 |
[attribute$=value] | a[href$=".pdf"] | 选择其 href 属性值以 ".pdf" 结尾的每个 <a> 元素。 |
[attribute*=value] | a[href*="w3school"] | 选择其 href 属性值包含子串 "w3school" 的每个 <a> 元素。 |
特异性层次-样式冲突时会如何
行内样式 - 行内(内联)样式直接附加到要设置样式的元素。实例:<h1 style="color: #ffffff;">。
ID - ID 是页面元素的唯一标识符,例如 #navbar。
类、属性和伪类 - 此类别包括 .classes、[attributes] 和伪类,例如::hover、:focus 等。
元素和伪元素 - 此类别包括元素名称和伪元素,比如 h1、div、:before 和 :after。
计算特异性的方法
从 0 开始,为 style 属性添加 1000,为每个 ID 添加 100,为每个属性、类或伪类添加 10,为每个元素名称或伪元素添加 1。
文章评论