说明:为页面上的所有元素设置样式。优先级最低。
*{ margin:0; padding:0; }
说明:也叫标签选择器,根据元素名(标签名)来设置样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> p{ width:200px; height:auto; color:red; } div{ width:100px; height:100px; background:blue; } </style> </head> <body> <p>web前端开发工程师</p> <div> Java开发工程师 </div> </body> </html>
说明:为含有相同类名的元素设置样式,元素选择时,需要在元素之前加“.”号。
<style> .s1{ color:red; } </style> <body> <p class=‘s1‘>aa</p> <p class=‘s2‘>bb</p> <p class=‘s1 s2‘>cc</p> <!----aa和cc的字体颜色为红色----> </body>
说明:#ID名{属性名:属性值;属性名:属性值},ID选择器具有唯一性
<style> #d1{ color:red; } </style> <body> <p id=‘d1‘>aa</p> <p id=‘d2‘>bb</p> <!----aa的字体颜色为红色----> </body>
说明:[元素属性名]{属性名:属性值;属性名:属性值} 选择有指定属性名的元素,而不管元素的该属性的属性值是什么
<style> [href]{ color:red; } </style> <body> <a href=‘taobao‘>taobao</a> <div> <a href=‘baidu‘>baidu</a> </div> <a href=‘tencent‘ >tencent</p> <!----taobao baiidu和tencent的字体颜色均为红色----> </body>
②具体属性值选择器:选择具有指定属性键值对(属性名和属性值都要匹配)的元素。
说明:[元素属性="属性值"]{属性名:属性值;属性名:属性值;} 属性名和属性值要完全匹配
<style> [href=‘taobao‘]{ color:red; } </style> <body> <a href=‘taobao‘>taobao</a> <div> <a href=‘baidu‘>baidu</a> </div> <a href=‘tencent‘ >tencent</p> <!----taobao的字体颜色均为红色----> </body>
说明:[元素属性^="def"]{属性名:属性值;属性名:属性值;} 相应的属性值以def开头的元素
[元素属性$="def"]{属性名:属性值;属性名:属性值;} 相应的属性值以def结尾的元素
[元素属性*="def"]{属性名:属性值;属性名:属性值;.} 相应的属性值包含def的元素
<style> .s1 p{ color:red; } </style> <body> <p>aa</p> <div class=‘s1‘> <p>bb</p> <div> <p>cc</p> </div> <p>dd</p> </div> <p >ee</p> <!----bb、cc和dd的字体颜色为红色----> </body>
说明:父元素>子元素{属性:属性值},此表示为第一代子元素。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> p>span{ color:red; } p span{ color:blue; } p>span>span{ color:green; } </style> </head> <body> <p> <span> C++工程师 <span> <span> web前端开发工程师 </span> </span> </span> </p> <p><span>嵌入式软件工程师<span>Java开发工程师</span></span></p> </body> </html>
注:特别注意这里p span代表span以及后面所有子元素,而p>span只代表p的第一span子元素,同理p>span>span代表p的孙子级元素。
说明:通过添加一些实际的元素来向匹配selector选择器的元素添加一些效果,有以下5种类型。
1、:first-line或::first-line伪元素,用于向文本的首行设置特殊样式
2、:first-letter或::first-letter伪元素,用于向文本的首字母设置样式
3、:before或::before在元素之前添加内容
4、:after或::after在元素之后添加内容
5、::selection设置元素在被选择时的样式
注:在CSS3之前,伪元素只有1~4四种(::selection为新增),且均为单冒号(:),为了和伪类选择器进行区分,CSS3中规定,伪元素一律使用(::)双冒号,但但冒号依然可以使用,且兼容性更好
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> p{ font-size:25px; } .s1 p::first-line{ color:red; font-style: italic; } .s2 p::first-letter{ color:green; font-weight:bold; } .s3 p::before{ content:"我们生来就孤独"; color:rgb(0, 255, 76); } .s4 p::after{ content:"我是街上的游魂,谁是闻到我的人?"; color:blueviolet; } .s5 p::selection{ color:green; background:red; } </style> </head> <body> <div class="s1"> <h1>我把新买的iPhoneX放在钢琴上</h1> <p> 我同学看到后说:真能装!把手机放在这么显眼的位置。我笑了笑说:我弹着80万的钢琴 </p> </div> <div class="s2"> <h1>你却只看到一个1万块钱的手机</h1> <p> 我妈妈对我说:你住着5千万的别墅,却眼里只有钢琴 </p> </div> <div class="s3"> <h1>爸爸对我妈妈说</h1> <p>你享有身价500亿的老公</p> </div> <div class="s4"> <h1>却眼里只有个破别墅!</h1> <p>呵呵哒</p> </div> <div class="s5"> <h1>我笑着对你说:我给你看神评论</h1> <p>而你却纠结我是不是在骗赞!眼界决定境界,格局决定结局,谢谢!!</p> </div> </body> </html>
关于伪类和伪元素的区别,推荐一篇博客文章,写的很好
说明:selector1,selector2,selector3{......}
<style> .s1,p{ color:red; } </style> <body> <p>aa</p> <span class=‘s1‘>bb</span> <a>cc</a> <!----aa和bb的字体颜色为红色----> </body>
原文:https://www.cnblogs.com/Mr-Jia-blog/p/8999546.html