Open super-fool opened 3 years ago
很有意思的一个demo:
// CSS
.text1 {
width: 100px;
height: 100px;
border: 1px solid #ddd;
overflow: hidden;
}
.text2 {
width: 100px;
height: 100px;
border: 1px solid #ddd;
overflow: hidden;
}
.text1:hover ~ .text2 {
background-color: red
}
当我鼠标悬停到text1, text2会改变背景颜色为red
伪类: 元素可以在一些外部因素上 或 针对内部元素应用相应的样式, 这些外部因素例如 用户悬停在该元素(:hover), 是否点击过该元素(:active); 针对内部元素例如 元素内部的第一个元素
first-child
, 最后一个元素last-child
, 第n个元素nth-child
伪元素: 创建一些不在dom树中的元素, 比如我通过:before添加了一个元素, 虽然用户可以看到, 但是dom树中不存在该元素, JS也无法获取.
伪元素(::) 是针对其元素上的一些位置(开头before, 尾巴after, 第一个字母first letter, 第一行first line, 被选中的内容 selection)进行
Tips:
参考: https://developer.mozilla.org/zh-CN/docs/Web/CSS/Pseudo-classes