/*--------------------
本文为个人学习笔记,
基于书本以及自身掌握,
对相关内容未做深入展开
--------------------*/
伪类&伪元素
- 首字样式控制 —— 使用伪元素
::first-letter
<p>首字放大的效果</p>
p::first-letter{
font-size: 40px;
}
<p>uppercase</p>
p::first-letter{
text-transform:uppercase
}
- 首行样式控制 —— 使用伪元素
::first-line
<p>我想第一行文字有加粗效果,不管屏幕宽度多少,始终能做到这个效果。</p>
p{
width:200px;
}
p::first-line{
font-weight: bold;
}
- 伪元素
::before
与::after
用于为DOM中的元素添加内容;需要配合特有的content
属性;注意,添加的内容并不真正存在于DOM中;另外,基于表现与内容分离的原则,我们使用这两个伪元素的目的是进行样式控制,而不是真正的内容输出,后者是HTML的事。
- 伪类是对CSS选择器的补充、扩展以及筛选;锚伪类即超链接伪类是最常见的,比如
:hover
、:link
、:active
、:visited
等,此时的伪类用于对同一元素的不同状态进行控制,表单元素获得焦点时通过:focus
伪类进行控制也相似;CSS3的:nth-child()
等伪类则更多扩展了CSS选择器的“选择”功能。
样式优先权
- 行内(
style="..."
) > 内部(<style>...</style>
) > 外部(<link href="..."/>
)
- id选择器(
#idName{}
) > 类选择器(.className{}
) > 元素标签选择器(p{}
)
- 两行相同属性的定义,后者会覆盖前者
-
!important
优先于以上所有