今天把视频里的CSS3复杂选择器部分看完了,来整理一下学到的知识点。
1、兄弟选择器:同一位置级别,可称为兄弟元素
a、相邻兄弟选择器:next
紧紧跟在【当前元素之后的】(一个),指定选择器的元素
语法:通过“+”作为结合符
eg: p+p ->紧跟在p后面的p元素
<!-- demo.html --> <html> <head> <title></title> </head> <body> <p>这是第一个段落</p> <div id="d1">这是一个div</div> <span>这是一个span</span> <p class="p1">这是第二个段落</p> <b>Hello World</b> <p class="p2">这是第三个段落</p> </body> </html> /*demo.css*/ div+p{ background: yellow; } #d1+p{ background: red; } span+.p1{ background: blue; }
b、通用兄弟选择器:next_all
匹配某元素【后面所有】的满足指定选择器的兄弟元素
语法:使用“~”作为结合符
eg:p~p{} ->匹配p后面所有的p
2、属性选择器:使用元素所附带的属性,用于选择器当中,作为选择元素的条件
语法:[属性相关内容]
eg:[id] ->具备id属性的所有元素
p[id] ->具备id属性的p元素
a、[id],p[id]
b、p[id][class] ->既具备id又具备class的p元素
c、p[id="p1"] ->id值为"p1"的p元素
d、p[class~="value"]
e、p[class^="b"] ->匹配class属性值以b开始的p标记
f、p[class*="b"] ->匹配class属性值中包含b的p标记
g、p[class$="b"] ->匹配class属性值以b结尾的p标记
<!-- demo.html --> <html> <head> <title></title> </head> <body> <p class="clear p1 myself"> 这是第四个段落 </p> <div class="userContent"> 文本内容 </div> </body> </html> /*demo.css*/ p[class]{ color: #e4393c; } p[class~='p1']{ background-color: #cd2c2d; color: #fff; } div[class ^= "us"]{ background-color: #bfb; } div[class$="t"]{ background-color: #bfb; color: #333; }
3、伪类选择器
a、目标伪类:突出显示活动的HTML锚点
语法::target
b、元素状态伪类:多数用在表单元素上
1、:enabled ->匹配每个已启用的元素
2、:disabled ->匹配每个已被禁用的元素
3、:checked ->匹配已被选中的表单元素(只适用于checkbox,radio)
c、结构伪类
1、:first-child ->匹配属于其父元素中的第一个子元素
2、:last-child ->匹配属于其父元素中的最后一个子元素
3、:empty ->匹配没有子元素的元素(文本内容或空格也算作子元素)
4、:only-child ->匹配属于其父元素中的唯一子元素
d、否定伪类:匹配非指定选择器的元素
语法::not(selector)
<!-- demo01.html 目标伪类 --> <html> <head> <title></title> </head> <body> <a href="#Tom">猫和老鼠(Tom and Jerry)</a> <a href="#Atongmu">铁臂阿童木</a> <a href="#BlackCat">黑猫警长</a> <br> <a name="Tom">第一部:Tom and Jerry</a> <p style="height: 500px;">Tom and Jerry</p> <div id="Atongmu" style="height: 500px;">我是阿童木</div> <div id="BlackCat" style="height: 500px;">I am Mr Black Cat</div> </body> </html> /*demo01.css*/ a:target,div:target{ background-color: #bfb; font-size: 20pt; }
<!-- demo02.html 结构伪类 --> <html> <head> <title></title> </head> <body> <div id="d1"></div> <div id="d2"> <p>This is a p</p> </div> <div id="d3"> This id d3 </div> <div id="d4"> <b>first</b> <b>second</b> <b>third</b> <b>last</b> </div> </body> </html> /*demo02.css*/ div{ width: 100px; height: 100px; } b{ display: block; } div:empty{ background-color: #bfb; } p:only-child{ background-color: #fbf; } b:first-child{ font-size: 2em; color: #fbb; } b:last-child{ font-size: 3em; font-weight: normal; color: #bbf; }
<!-- demo03.html 伪元素状态伪类 --> <html> <head> <title></title> </head> <body> 用户名称:<input type="text"><br> 用户昵称:<input type="text" disabled value="请输入您的昵称"> <br> 性别:<input type="radio" name="rdoGender">男 <input type="radio" name="rdoGender">女 </body> </html> /*demo03.css*/ input:enabled{ color: red; } input:disabled{ border: 1px solid #f00; } input[name=rdoGender]:checked{ background-color: #bfb; }
<!-- demo04.html 否定伪类 --> <html> <head> <title></title> </head> <body> <div> 用户名称:<input type="text"><br> 用户密码:<input type="password"><br> <input type="submit" value="提交"> <input type="button" value="按钮"> </div> </body> </html> /*demo04.css*/ input:not(:last-child){ border: 1px solid #f00; }
4、伪元素选择器:匹配出来的都是文本内容
a、:first-letter ->匹配首字符
b、:first-line -> 匹配首行
以上两个选择器,行内元素无效,行内块、块级可以
c、::selection ->用于欧赔用户选中的文本样式(火狐貌似不兼容)
<!-- demo.html 为元素选择器 --> <html> <head> <title></title> </head> <body> <p> 风风雨雨适合于独行,且手中无伞,不打伞有不打伞的好处。湿是我的湿,冷是我的冷,即便化作雨点般的小,那么小也是我的小。 </p> <span> 风风雨雨适合于独行,且手中无伞,不打伞有不打伞的好处。湿是我的湿,冷是我的冷,即便化作雨点般的小,那么小也是我的小。 </span> </body> </html> /*demo.css*/ p{ width: 200px; border: 1px solid #bfb; margin: 10% auto; text-indent: 5px; } span{ /*float: right;*/ /*display: inline-block;*/ position: absolute; top: 300px; left: 500px; } p:first-letter{ font-size: 20pt; color: #fbb; } p:first-line{ font-style: italic; } span:first-line{ font-style: italic; background-color: #ffb; } p::selection{ background-color: #bbf; color: #fbf; }
以上就是我在视频中学到的所有内容,若有错误或不足,希望浏览者提出,及时指正。。
今天是我开通博客的第二天,这是我写的第一篇文章,在这里发表完全是当做自己的学习笔记,希望可以记录自己的成长。
以上是CSS3复杂选择器的详解的详细内容。更多信息请关注PHP中文网其他相关文章!

两种方法:1、利用display属性,只需给元素添加“display:none;”样式即可。2、利用position和top属性设置元素绝对定位来隐藏元素,只需给元素添加“position:absolute;top:-9999px;”样式。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

实现方法:1、使用“:active”选择器选中鼠标点击图片的状态;2、使用transform属性和scale()函数实现图片放大效果,语法“img:active {transform: scale(x轴放大倍数,y轴放大倍数);}”。

自适应布局又称“响应式布局”,是指可以自动识别屏幕宽度、并做出相应调整的网页布局;这样的网页能够兼容多个不同的终端,而不是为每个终端做一个特定的版本。自适应布局是为解决移动端浏览网页而诞生的,能够为使用不同终端的用户提供很好的用户体验。

css3中的动画效果有变形;可以利用“animation:动画属性 @keyframes ..{..{transform:变形属性}}”实现变形动画效果,animation属性用于设置动画样式,transform属性用于设置变形样式。

在css3中,可以利用“animation-timing-function”属性设置动画旋转速度,该属性用于指定动画将如何完成一个周期,设置动画的速度曲线,语法为“元素{animation-timing-function:速度属性值;}”。

css3线性渐变可以实现三角形;只需创建一个45度的线性渐变,设置渐变色为两种固定颜色,一个是三角形的颜色,另一个为透明色即可,语法“linear-gradient(45deg,颜色值,颜色值 50%,透明色 50%,透明色 100%)”。

本篇文章带大家一起深入了解一下CSS3中的新特性::target-text 选择器,聊聊该选择器的作用和使用方法,希望对大家有所帮助!


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

WebStorm Mac版
好用的JavaScript开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境