选择器+外部样式

    技术2025-01-29  6

    一.选择器

    1.html和css结合的三种方式

    1.内联样式: <div id="" style="width: 300px;height: 200px;"> 一次只能控制一个标签的展示样式,代码复用低 2.内部样式: 配合选择器使用,一次可以控制多个标签的展示样式,代码复用率较强 选择器:选择一个或多个标签 3.外部样式: 将css代码放到文件里,在html文件里通过link标签引入

    2.id选择器

    格式: #id名{ 属性值1; 属性值2; } 注意事项: 1.id具有唯一性,多个标签的id不能相同 2.id选择器一次只能更改一个标签 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> /* id选择器 id是唯一的,即在一个页面中id="myid"的标签只能有一个 id选择器一次只能更改一个标签 */ #myid { color: red; width: 100px; background-color: aqua; } #h1{ color: red; } </style> </head> <body> <div id="myid"> 芜湖,起飞 </div> <h1 id="h1">一级大标题</h1> </body> </html>

    3.类选择器

    类选择器一次可以更改多个标签 格式: .class名{ 属性值1; 属性值2; } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .div{ color: red; font-size: 100px; } </style> </head> <body> <!-- 类选择器 --> <!-- class的值一样,归成一类来处理 --> <div class="div">111</div> <div class="div">222</div> <div class="div">222</div> <div id=""> 111 </div> <div id=""> 222 </div> <div id=""> 333 </div> </body> </html>

    4.标签名选择器

    一次可以更改多个标签的样式 格式: 标签名{ 属性值1; 属性值2; } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> div{ color: red; font-size: 100px; } h1{ background-color: #0000FF; } </style> </head> <body> <div id="">芜湖,起飞</div> <div id="">芜湖,起飞</div> <div id="">芜湖,起飞</div> <h1>一级标题</h1> </body> </html>

    5.选择器的优先级

    如果多个选择器控制的的标签不冲突,样式会叠加呈现. 如果多个选择器控制的标签冲突,会按照优先级来呈现; 如果优先级相同,后面选择器控制的样式会覆盖前面选择器控制的样式. 优先级: 内联样式>id选择器>类选择器>标签名选择器 内联样式>id选择器>类选择器=属性选择器=伪类选择器>标签名选择器=伪元素选择器 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #h1{ color: red; } .h1class{ color: blue; font-size: 100px; } h1{ color: aqua; font-size: 200px; } </style> </head> <body> <!-- 选择器的优先级 --> <!-- 内联>id选择器>类选择器>标签名选择器 --> <h1 id="h1" class="h1class" style="color: aquamarine;">我是标题</h1> </body> </html>

    6.伪类选择器

    伪类选择器:针对超链接标签的选择器 超链接有四种状态: a.链接状态 b.鼠标悬浮状态 c.鼠标按下状态 d.链接访问完成后的状态 针对这四种状态,提供了四种选择器 注意:鼠标悬浮状态和鼠标按下状态也可使用于其他标签 链接状态: a:linked{ 属性值; } 鼠标悬浮状态: a:hover{ 属性值; } 鼠标按下状态: a:active{ 属性值; } 访问完成后的状态: a:visited{ 属性值; } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> /* 链接状态 */ a:link{ color: red; /* 控制线条,none表示没有线条,underline表示下划线,默认就是下划线; line-through表示删除线,overline表示上划线 */ text-decoration:overline; } /* 鼠标悬浮状态 */ a:hover{ color: aqua; } /* 鼠标按下状态 */ a:active{ color: #0000FF; } /* 访问完后的状态 */ a:visited{ font-size: 100px; } </style> </head> <body> <!-- 伪类选择器:对超链接标签进行操作 --> <a href="http://www.baidu.com">进入百度</a> <a href="http://www.baidu.com">进入百度2</a> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> /* 标签名选择器 */ div{ background: #0000FF; } /* 伪类选择器的鼠标悬浮状态 */ /* 选择器优先级 */ div:hover{ background: #00FFFF; } div:active{ background: #A52A2A; } .div{ background: #FAEBD7; } </style> </head> <body> <div id="" class="div"> 啊哈,金色传说 </div> </body> </html>

    7.包含选择器

    包含选择器其实就是嵌套关系,即一个选择器中可以嵌套其他选择器 注意事项: 两个元素之间的层次间隔可以是无限的. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <!-- 包含选择器:嵌套关系 --> <style type="text/css"> #h1 #div h2 { color: red; } h1 div .myh2 { width: 6.25rem; height: 6.25rem; } /* 两个元素之间的层次间隔可以是无限的 */ /* 更改table下的所有h1标签 */ table h1{ color: #ADFF2F; } </style> </head> <body> <h1 id="h1"> <div id="div"> <h2 id="h2" class="myh2">啊哈,金色传说</h2> </div> </h1> <table border="1" cellspacing="0" cellpadding="" width="200px" height="200px"> <tr> <td>Data</td> </tr> <tr> <td><h1>芜湖,起飞</h1></td> </tr> <tr> <td>Data</td> </tr> </table> </body> </html>

    8.子选择器

    格式: 标签名1>标签名2{ 属性值1; 属性值2; } 注意事项: 1.子选择器只能更改子元素,功能上弱于包含选择器 2.子标签没有设置样式时,会去继承父标签的样式 3.子选择器想去控制孙子级别的标签,先要控制子级别的标签 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>子选择器</title> <!-- 子选择器只能更改子元素 --> <style type="text/css"> ul>li{ color: red; } ul>li>h1{ color: azure; } #div{ width: 12.5rem; background-color: red; } </style> </head> <body> <ul> <li><h1>芜湖</h1></li> <li>222</li> <li>333</li> </ul> <!-- 子标签没有设置样式时,会去继承父类的样式 --> <div id="div"> <div id="div2"> 啊哈 </div> </div> </body> </html>

    9.相邻选择器

    格式: 标签名1+标签名2{ 属性值1; 属性值2; } 注意: 1.相邻选择器+号两端的元素需要有相同的父元素 2.用+只能选择两个相邻兄弟中的第二个元素,即会选择下一个开始,第一个不受影响 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> li+li{ color: red; } /* 相邻所有选择器 */ #div1~div{ color: #FF0000; } </style> </head> <body> <ul> <li>外币外币</li> <li>外币八部</li> <li>外币八部</li> </ul> <ul> <li>啊有good马来西亚</li> <li>芜湖</li> <li>外币八部</li> </ul> <ul> <li>起飞</li> <li>这边我门就遇到了高手了</li> <li>外币八部</li> </ul> <div id="div1">111</div> <div id="div2">222</div> <div id="div3">333</div> <div id="div4">444</div> </body> </html>

    10.通配符选择器

    格式: *{ 属性值1; 属性值2; } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> /* 全局通配 */ *{ color: red; } /* 局部通配 */ #h1>span{ font-size: 200px; } </style> </head> <body> <h1 id="h1"><span>芜湖</span></h1> <h2 id="h2">起飞</h2> <h3 id="h3">啊哈</h3> </body> </html>

    11.属性选择器

    格式: 标签名[属性值]{ 属性值1; 属性值2; } *[title] {color:red;}表示把所有包含标题(title)属性的所有元素变为红色 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> /* 把h1里包含title标签的转为aliceblue色 */ /* h1[title]{ color: aliceblue; } */ /* 所有包含title的转为红色 */ [title]{ color: red; } </style> </head> <body> <h1 title="芜湖">芜湖</h1> <a href="http://www.baidu.com" title="百度一下">百度一下</a> </body> </html>

    二.外部样式

    外部样式: 将css代码放到文件里,在html文件里通过link标签引入

    html代码:

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="css/div1.css"/> <link rel="stylesheet" type="text/css" href="css/div2.css"/> </head> <body> <div id="div1"> 芜湖,起飞 </div> <div id="div2"> 啊哈,金色传说 </div> </body> </html>

    css代码:

    #div1{ color: red; font-size: 100px; } #div2{ color: aliceblue; font-size: 300px; }
    Processed: 0.009, SQL: 9