CSS常用的选择器,web开发视频教程,实现原理讲解
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】meSafariOpera跟相反,last-chil
- Opera
a[title] {
color: green;}
这个叫属性选择器,上面的这个例子中,只会选择有title属性的元素。那些没有此属性的锚点标签将不会被这个代码修饰。那再想想如果你想更加具体的去筛选?那…
兼容性
-
IE7+
-
Firefox
-
Chrome
-
Safari
-
Opera
a[href=“http://strongme.cn” rel=“external nofollow” target=“_blank” ] {
color: #1f6053; /* nettuts green */}
上面这片代码将会把 href 属性值为[http://strongme.cn]( )
的锚点标签设置为绿色,而其他标签则不受影响。
注意我们将值用双引号括起来了。那么在使用 Javascript 的时候也要使用双引号括起来。可以的话,尽量使用标准的 CSS3 选择器。
这样可以用了,但是还是有点死,如果不是这个链接,而是类似的链接,那么这时就得用正则表达式了。
兼容性
-
IE7+
-
Firefox
-
Chrome
-
Safari
-
Opera
a[href=“strongme”] {
color: #1f6053;}
Tada,正是我们需要的,这样,就指定了strongme
这个值必须出现在锚点标签的href
属性中,不管是strongme.cn
还是strongme.com
还是www.strongme.cn
都可以被选中。
但是记得这是个很宽泛的表达方式。如果锚点标签指向的不是strongme
相关的站点,如果要更加具体的限制的话,那就使用^
和$
,分别表示字符串的开始和结束。
兼容性
-
IE7+
-
Firefox
-
Chrome
-
Safari
-
Opera
a[href^=“http”] {
background: url(path/to/external/icon.png) no-repeat;
padding-left: 10px; }
大家肯定好奇过,有些站点的锚点标签旁边会有一个外链图标,我也相信大家肯定见过这种情况。这样的设计会很明确的告诉你会跳转到别的网站。
用克拉符号就可以轻易做到。它通常使用在正则表达式中标识开头。如果我们想定位锚点属性href
中以http
开头的标签,那我们就可以用与上面相似的代码。
注意我们没有搜索http://
,那是没必要的,因为它都不包含https://
。
那如果我们想找到所有指向一张图片的锚点标签呢?那我们来使用下&
字符。
兼容性
-
IE7+
-
Firefox
-
Chrome
-
Safari
-
Opera
a[href$=“.jpg”] {
color: red; }
这次我们又使用了正则表达式$
,表示字符串的结尾处。这段代码的意思就是去搜索所有的图片链接,或者其它链接是以.jpg
结尾的。但是记住这种写法是不会对gifs
和pngs
起作用的。
兼容性
-
IE7+
-
Firefox
-
Chrome
-
Safari
-
Opera
a[data-filetype=“image”] {
color: red;}
在回到第8条,我们如何把所有的图片类型都选中呢png
,jpeg
,’jpg
’,'gif
’?我们可以使用多选择器。看下面:
a[href$=“.jpg”],
a[href$=“.jpeg”],
a[href$=“.png”],
a[href$=“.gif”] {
color: red; }
但是这样写着很蛋疼啊,而且效率会很低。另外一个办法就是使用自定义属性。我们可以给每个锚点加个属性data-filetype
指定这个链接指向的图片类型。
[html]
Image Link 那有了这个钩子,我们就可以去用标准的办法只去选定文件类型为image
的锚点了。
a[data-filetype=“image”] {
color: red; }
兼容性
-
IE7+
-
Firefox
-
Chrome
-
Safari
-
Opera
a[data-info~=“external”] {
color: red; }
a[data-info~=“image”] {
border: 1px solid black; }
这个我想会让你的小伙伴惊呼妙极了。很少有人知道这个技巧。这个~
符号可以定位那些某属性值是空格分隔多值的标签。
继续使用第15条那个例子,我们可以设置一个data-info
属性,它可以用来设置任何我们需要的空格分隔的值。这个例子我们将指示它们为外部连接和图片链接。
Click Me, Fool
给这些元素设置了这个标志之后,我们就可以使用~
来定位这些标签了。
/ Target data-info attr that contains the value “external” /
a[data-info~=“external”] {
color: red;}
/ And which contain the value “image” /
a[data-info~=“image”] {
border: 1px solid black;}
input[type=radio]:checked {
border: 1px solid black; }
上面这个伪类写法可以定位那些被选中的单选框和多选框,就是这么简单。
兼容性
-
IE9+
-
Firefox
-
Chrome
-
Safari
-
Opera
before
和after
这俩伪类。好像每天大家都能找到使用它们的创造性方法。它们会在被选中的标签周围生成一些内容。
当使用.clear-fix
技巧时许多属性都是第一次被使用到里面的。
.clearfix:after {
content: “”;
display: block;
clear: both;
visibility: hidden;
font-size: 0;
height: 0;
}
.clearfix {
display: inline-block;
_height: 1%;
}
上面这段代码会在目标标签后面补上一段空白,然后将它清除。这个方法你一定得放你的聚宝盆里面。特别是当overflow:hidden
方法不顶用的时候,这招就特别管用了。
根据 CSS3 标准规定,可以使用两个冒号::
。然后为了兼容性,浏览器也会接受一个双引号的写法。其实在这个情况下,用一个冒号还是比较明智的。
兼容性
-
IE8+
-
Firefox
-
Chrome
-
Safari
-
Opera
div:hover {
background: #e3e3e3; }
不用说,大家肯定知道它。官方的说法是user action pseudo class
.听起来有点儿迷糊,其实还好。如果想在用户鼠标飘过的地方涂点儿彩,那这个伪类写法可以办到。
注意旧版本的IE只会对加在锚点a
标签上的:hover
伪类起作用。
通常大家在鼠标飘过锚点链接时候加下边框的时候用到它。
a:hover {
border-bottom: 1px solid black;
}
专家提示:border-bottom:1px solid black
;比text-decoration:underline
;要好看很多。
兼容性
-
IE6+(IE6只能在锚点标签上起作用)
-
Firefox
-
Chrome
-
Safari
-
Opera
div:not(#container) {
color: blue;
}
取反
伪类是相当有用的,假设我们要把除id
为container
之外的所有div
标签都选中。那上面那么代码就可以做到。
或者说我想选中所有出段落标签之外的所有标签。
:not§ {
color: green;
}
兼容性
-
IE9+
-
Firefox
-
Chrome
-
Safari
-
Opera
p : : first-line {
font-weight: bold;
font-size:1.2em;
}
我们可以使用::
来选中某标签的部分内容,如第一段,或者是第一个字没有。但是记得必须使用在块式标签上才起作用。
伪标签是由两个冒号 ::
组成的。
定位第一个字
p::first-letter {
float: left;
font-size: 2em;
font-weight: bold;
font-family: cursive;
padding-right: 2px;
}
上面这段代码会找到页面上所有段落,并且指定为每一段的第一个字。
它通常在一些新闻报刊内容的重点突出会使用到。
定位某段的第一行
p::first-line {
font-weight: bold;
font-size: 1.2em;
}
跟::first-line
相似,会选中段落的第一行 。
为了兼容性,之前旧版浏览器也会兼容单冒号的写法,例如:first-line
,:first-letter
,:before
,:after
.但是这个兼容对新介绍的特性不起作用。
兼容性
-
IE6+
-
Firefox
-
Chrome
-
Safari
-
Opera
li:nth-child(3) {
color: red;
}
还记得我们面对如何取到推跌式标签的第几个元素是无处下手的时光么,有了nth-child
那日子就一去不复返了。
请注意nth-child
接受一个整形参数,然后它不是从0开始的。如果你想获取第二个元素那么你传的值就是li:nth-child(2)
.
我们甚至可以获取到由变量名定义的个数个子标签。例如我们可以用li:nth-child(4n)
去每隔3个元素获取一次标签。
兼容性
-
IE9+
-
Firefox3.5+
-
Chrome
-
Safari
li:nth-last-child(2) {
color: red;
}
假设你在一个ul
标签中有N多的元素,而你只想获取最后三个元素,甚至是这样li:nth-child(397)
,你可以用nth-last-child
伪类去代替它。
这个技巧可以很正确的代替第16个TIP,不同的就是它是从结尾处开始的,倒回去的。
兼容性
-
IE9+
-
Firefox3.5+
-
Chrome
-
Safari
-
Opera
ul:nth-of-type(3) {
border: 1px solid black;
}
曾几何时,我们不想去选择子节点,而是想根据元素的类型来进行选择。
想象一下有5个ul
标签。如果你只想对其中的第三个进行修饰,而且你也不想使用id
属性,那你就可以使用nth-of-type(n)
伪类来实现了,上面的那个代码,只有第三个ul
标签会被设置边框。
兼容性
-
IE9+
-
Firefox3.5+
-
Chrome
-
Safari
ul:nth-last-of-type(3) {
border: 1px solid black;
}
同样,也可以类似的使用nth-last-of-type
来倒序的获取标签。
兼容性
-
IE9+
-
Firefox3.5+
-
Chrome
-
Safari
-
Opera
ul li:first-child {
border-top: none;
}
这个结构性的伪类可以选择到第一个子标签,你会经常使用它来取出第一个和最后一个的边框。
假设有个列表,每个标签都有上下边框,那么效果就是第一个和最后一个就会看起来有点奇怪。这时候就可以使用这个伪类来处理这种情况了。
兼容性
-
IE7+
-
Firefox
-
Chrome
-
Safari
-
Opera
ul > li:last-child {
color: green;
}
跟first-child
相反,last-child
取的是父标签的最后一个标签。
例如
标签
List Item
List Item
List Item
这里没啥内容,就是一个了 List。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
前端视频资料:
me
-
Safari
-
Opera
ul > li:last-child {
color: green;
}
跟first-child
相反,last-child
取的是父标签的最后一个标签。
例如
标签
List Item
List Item
List Item
这里没啥内容,就是一个了 List。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-Jzcl1VLA-1710764352383)]
[外链图片转存中…(img-eHLHq3pJ-1710764352384)]
[外链图片转存中…(img-PiiFgaTy-1710764352384)]
[外链图片转存中…(img-2iCUKCG1-1710764352385)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-FnXs23tp-1710764352386)]
最后
本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等
[外链图片转存中…(img-XBp5Znkq-1710764352386)]
前端视频资料:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)