大家好,又见面了,我是你们的朋友全栈君。
如果能够灵活运用属性选择器,目前为止需要依靠id或class名才能实现的样式 完全可以使用属性选择器来实现。
E[att] {}
: 选择具有att属性的E元素E[att="val"]{}
: 选择具有att属性且属性值等于val的E元素E[att~="val"]{}
:用于选取属性值中包含指定词汇的元素E[att|="val"] {}
:选择具有att属性且属性值为以val开头并用连接符”-“分隔的字符串的E元素,如果属性值仅为val,也将被选择E[att*="val"]{}
:选择具有att属性且属性值为包含val的字符串的E元素E[att^="val"] {}
:选择具有att属性且属性值为以val开头的字符串的E元素E[att$="val"] {}
:选择具有att属性且属性值为以val结尾的字符串的E元素1. 结构性伪类选择器
css中已经定义好的选择器,不能随便起名字
选择符 | 含义 |
---|---|
:root | 将样式绑定到页面的根元素中 |
:not | 排除某个选择器样式 |
:empty | 使用该选择器来制定当元素内容为空白时使用的样式 |
:first-child | 单独指定第一个子元素的样式 |
:last-child | 单独指定最后一个子元素的样式 |
2. 选择奇偶行
nth-child(odd)与nth-child(even)
:
不足之处:
nth-child选择器在计算子元素时,第奇数个元素还是偶数个元素时,是连同父元素内的所有 子元素一起计算的(默认匹配他们得是相同的子元素)
nth-of-type(odd)奇数和:nth-of-type(even)偶数
:完美解决上面的问题
3.循环使用样式
:nth-child(n)
:选取每一行
n:所有的行 2n:每2行选择一行 3n:每3行选择一行 n+2:除第1行外所有的行 2n+4:从第4行开始隔1行选择1行
:nth-last-child(n)
:从后向前选择,n为参数
n:所有行 2:倒数第2行 -n+3:最后3行 :only-child:只有一个元素时使用
4.目标伪类选择器
:target
:
5.UI 元素状态伪类选择器
选择器 | 含义 |
---|---|
E:enabled | 匹配所有用户界面(form表单)中处于可用状态的E元素 |
E:disabled | 匹配所有用户界面(form表单)中处于不可用状态的E元素 |
E:checked | 匹配所有用户界面(form表单)中处于选中状态的元素E |
E:selection | 匹配E元素中被用户选中或处于高亮状态的部分 |
6.动态伪类选择器
选择器 | 含义 |
---|---|
E:link | 选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过 |
E:visited | 选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过 |
E:active | 选择匹配的E元素,且匹配元素被激活。(以上常用于链接描点和按钮上) |
E:hover | 选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover |
E:focus | 选择匹配的E元素,而且匹配元素获取焦点 |
7.伪类和伪元素的区别
css伪类
:
css伪元素
:
8.层级选择器
相邻兄弟选择器
:
通用兄弟选择器
:
子选择器
:
9.渐进增强、优雅降级
渐进增强(Progressive Enhancement)
:
优雅降级(Graceful Degradation)
:
区别
:
a)文本阴影
:
例:
text-shadow:5px 5px 5px #f66;
指定多个阴影:(参数形式为X坐标 Y坐标 阴影的模糊程度 阴影颜色)
text-shadow:10px 10px #f66,40px 35px #f00,70px 60px #000;
b)自动换行
:
word-break
c)word-wrap
:
让长单词与URL地址自动换行
d)RGB
:
语法:
color:rgba(R,G,B,A)
e)圆角
:
border-radius:5px;
f)盒子阴影
:
box-shadow:5px 5px 10px #f66;
添加多个阴影,用逗号隔开即可。
如:
.box_shadow{
box-shadow:4px 2px 6px #f00,
-4px -2px 6px #000,
0px 0px 12px 5px #33CC00 inset;
}
width
:
fill-available/fit-content/max-content/min-content
fill-available
:充满整个可用宽度和可用高度
fit-content
:将元素宽度收缩为内容宽度
max-content
:内部元素宽度值最大的那个元素的宽度=最终容器的宽度。如 出现文本,则相当于文本不换行
min-content
:内部元素最小宽度值最大的那个元素的宽度=最终容器的宽度
注意:以上属性值需要加前缀
补充:
calc函数
:此CSS函数让你在声明CSS属性值时执行一些计算
语法:
width: calc(100% - 80px); // +-×÷运算符都可使用
注: 用 0 作除数会让 HTML 解析器抛出异常;
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157484.html原文链接:https://javaforall.cn