: url(path/to//icon.png) no-;
-left: 10px;
}
大家肯定好奇过,有些站点的锚点标签旁边会有一个外链图标,我也相信大家肯定见过这种情况。这样的设计会很明确的告诉你会跳转到别的网站。
用克拉符号就可以轻易做到。它通常使用在正则表达式中标识开头。如果我们想定位锚点属性href中以http开头的标签,那我们就可以用与上面相似的代码。
注意我们没有搜索,那是没必要的,因为它都不包含。
14 [href$=”.jpg”] : 属性选择器
a[href$=".jpg"] {
color: red;
}
这次我们又使用了正则表达式$,表示字符串的结尾处。这段代码的意思就是去搜索所有的图片链接,或者其它链接是以.jpg结尾的。但是记住这种写法是不会对gifs和pngs起作用的。
15 [data-*=”foo”] : 属性选择器
a[data-="image"] {
color: red;
}
回到上一条,我们如何把所有的图片类型都选中呢png,jpeg,’jpg’,’gif’?我们可以使用多选择器。看下面:
a[href$=".jpg"],
a[href$=".jpeg"],
a[href$=".png"],
a[href$=".gif"] {
color: red;
}
但是这样写着很蛋疼啊,而且效率会很低。另外一个办法就是使用自定义属性。我们可以给每个锚点加个属性data-指定这个链接指向的图片类型。
a[data-="image"] {
color: red;
}
16 [foo~=”bar”] : 属性选择器
a[data-info~=""] {
color: red;
}
a[data-info~="image"] {
: 1px solid black;
}
这个我想会让你的小伙伴惊呼妙极了。很少有人知道这个技巧。这个~符号可以定位那些某属性值是空格分隔多值的标签。
继续使用第15条那个例子,我们可以设置一个data-info属性,它可以用来设置任何我们需要的空格分隔的值。
给这些元素设置了这个标志之后,我们就可以使用~来定位这些标签了。
/ data-info attr that the value "" /
a[data-info~=""] {
color: red;
}
/ And which the value "image" /
a[data-info~="image"] {
: 1px solid black;
}
17 : : 伪类选择器
input[type=radio]: {
: 1px solid black;
}
上面这个伪类写法可以定位那些被选中的单选框和多选框,就是这么简单。
18 :after : 伪类选择器
和after这俩伪类。好像每天大家都能找到使用它们的创造性方法。它们会在被选中的标签周围生成一些内容。
当使用.clear-fix技巧时许多属性都是第一次被使用到里面的。
.:after {
: "";
: block;
clear: both;
: ;
font-size: 0;
: 0;
}
. {
*: -block;
: 1%;
}
上面这段代码会在目标标签后面补上一段空白,然后将它清除。这个方法你一定得放你的聚宝盆里面。特别是当:方法不顶用的时候,这招就特别管用了。
根据CSS3标准规定什么是css选择器,一共有几种,可以使用两个冒号::。然后为了兼容性,浏览器也会接受一个冒号的写法。其实在这个情况下,用一个冒号还是比较明智的。
19 :hover : 伪类选择器
div:hover {
: #;
}
不用说,大家肯定知道它。官方的说法是user class.听起来有点儿迷糊,其实还好。如果想在用户鼠标飘过的地方涂点儿彩,那这个伪类写法可以办到。
注意:旧版本的IE只会对加在锚点a标签上的:hover伪类起作用。
通常大家在鼠标飘过锚点链接时候加下边框的时候用到它。
a:hover {
-: 1px solid black;
}
专家提示:-:1px solid black;比text-:;要好看很多。
20 :not() : 伪类选择器
div:not(#) {
color: blue;
}
取反伪类是相当有用的,假设我们要把除id为之外的所有div标签都选中。那上面那么代码就可以做到。
或者说我想选中所有出段落标签之外的所有标签
:not(p) {
color: green;
}
21 :: : 伪类选择器
p::first-line {
font-: bold;
font-size:1.2em;
}
我们可以使用::来选中某标签的部分内容css3 ,如第一段,或者是第一个字。但是记得必须使用在块式标签上才起作用。
伪标签是由两个冒号 :: 组成的
定位第一个字:
p::first- {
float: left;
font-size: 2em;
font-: bold;
font-: ;
-right: 2px;
}
上面这段代码会找到页面上所有段落,并且指定为每一段的第一个字。
它通常在一些新闻报刊内容的重点突出会使用到。
定位某段的第一行
p::first-line {
font-: bold;
font-size: 1.2em;
}
跟::first-line相似,会选中段落的第一行
为了兼容性什么是css选择器,一共有几种 好程序员HTML5培训教程-总结30个CSS3选择器,之前旧版浏览器也会兼容单冒号的写法,例如:first-line,:first-,:,:after.但是这个兼容对新介绍的特性不起作用。
22 :nth-child(n) : 伪类选择器
li:nth-child(3) {
color: red;
}
还记得我们面对如何取到堆叠式标签的第几个元素时无处下手的时光么,有了nth-child那日子就一去不复返了。
请注意nth-child接受一个整形参数,然后它不是从0开始的。如果你想获取第二个元素那么你传的值就是li:nth-child(2).
我们甚至可以获取到由变量名定义的个数个子标签。例如我们可以用li:nth-child(4n)去每隔3个元素获取一次标签。
23 :nth-last-child(n) : 伪类选择器
li:nth-last-child(2) {
color: red;
}
假设你在一个ul标签中有N多的元素,而你只想获取最后三个元素,甚至是这样li:nth-child(397),你可以用nth-last-child伪类去代替它。
24 :nth-of-type(n) : 伪类选择器
ul:nth-of-type(3) {
: 1px solid black;
}
曾几何时,我们不想去选择子节点,而是想根据元素的类型来进行选择。
想象一下有5个ul标签。如果你只想对其中的第三个进行修饰,而且你也不想使用id属性什么是css选择器,一共有几种,那你就可以使用nth-of-type(n)伪类来实现了,上面的那个代码,只有第三个ul标签会被设置边框。
25 :nth-last-of-type(n) : 伪类选择器
ul:nth-last-of-type(3) {
: 1px solid black;
}
同样,也可以类似的使用nth-last-of-type来倒序的获取标签。
26 :first-child : 伪类选择器
ul li:first-child {
-top: none;
}
这个结构性的伪类可以选择到第一个子标签css3 3D,你会经常使用它来取出第一个和最后一个的边框。
假设有个列表,每个标签都有上下边框,那么效果就是第一个和最后一个就会看起来有点奇怪。这时候就可以使用这个伪类来处理这种情况了。
27 :last-child : 伪类选择器
ul > li:last-child {
color: green;
}
跟first-child相反,last-child取的是父标签的最后一个标签。
例如
标签
这里没啥内容,就是一个了 List。
ul {
width: 200px;
: #;
color: white;
list-style: none;
-left: 0;
}
li {
: 10px;
-: 1px solid black;
-top: 1px solid #;
}
上面的代码将设置背景色,移除浏览器默认的内边距,为每个li设置边框以凸显一定的深度。
28 :only-child : 伪类选择器
div p:only-child {
color: red;
}
说实话,你会发现你几乎都不会用到这个伪类。然而,它是相当有用的,说不准哪天你就会用到它。
它允许你获取到那些只有一个子标签的父标签下的那个子标签。就像上面那段代码,只有一个段落标签的div才被着色。
My here.
Two total.
Two total.
上面例子中,第二个div不会被选中。一旦第一个div有了多个子段落css3 ,那这个就不再起作用了。
29 :only-of-type: 伪类选择器
li:only-of-type {
font-: bold;
}
结构性伪类可以用的很聪明。它会定位某标签下相同子标签的只有一个的目标。设想你想获取到只有一个子标签的ul标签下的li标签呢?
使用ul li会选中所有li标签。这时候就要使用only-of-圆角了。
ul > li:only-of-type {
font-: bold;
未完待续欢迎继续关注好程序员前端教程分享!