一、元素选择器
HTML文档元素就是最基本的选择器
如:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>index</title><style type="text/css"> p {color:blue;}</style></head><body> <p>这一段话是蓝色的。</p></body></html>
示例将
元素的字体颜色设置为了蓝色,元素选择器将作用于文档内所有的
元素。同样,我们也能够同时为多个元素应用一种样式,如:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>index</title><style type="text/css"> h1,p {color:blue;}</style></head><body> <h1 id="标题颜色">标题颜色</h1> <p>这一段话是蓝色的。</p></body></html>
为多个元素应用样式时,用逗号分隔。
*作为通配选择器,可以与任何元素匹配。
格式:元素|通配符
二、类选择器
类选择器的样式与元素关联,需要为class属性指定一个适当的值,如:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>index</title><style type="text/css"> .one {color:blue;}</style></head><body> <p class="one">第一段。</p> <p>第二段</p> <p class="one">第三段</p></body></html>
格式:.类名
代码中有3个
元素,其中有两个指定了class属性,即class="one",在
三、多类选择器
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> .one {color:blue;} .two {color:red;} .one.two {color:green;} </style></head><body><p class="one two">第一段。</p><p class="two">第二段</p><p class="one">第三段</p></body></html>
效果:
格式:.类名1.类名2……
多类的概念在于可以对class指定多个属性值,如我们为
指定了class="one two",那么这个
元素的class属性就包含了两个属性值"one"和"two",中间空格作为分隔符。在样式表中则使用[.属性值1.属性值2|……]来指向元素。上面的代码中,我们对class值为"one"的元素颜色应用蓝色,class值含有"two"的元素应用红色,为class值同时含有"one"和"two"的元素颜色应用为绿色。如果在样式表中没有为指定.one.two{color:green;},那么
第一段。
呈现出来的效果是什么呢?答案是红色。因为.one和.two都会指向满足条件的第一段。
,这时候样式就会依照层叠来应用样式了。四、ID选择器
同类选择器类似,但匹配的是id属性,而不是类选择器的class属性。与类选择器不同的是,在一个HTML文档中,ID选择器会使用一次,而且仅一次,虽然在很多浏览器中指定id属性值能够出现多次,但这是不正确的,而且如果在JavaScript中使用getElementById()方法时,会造成不必要的错误。通过#元素ID属性值来指向元素。如:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> #p1 {color:blue;} </style></head><body><p id="p1">第一段。</p><p>第二段</p><p>第三段</p></body></html>
格式:#ID属性值
五、属性选择器
注意:Safari、Opera和所有基于Gecko的浏览器都支持属性选择器,在IE5/Mac和IE6/Win之前,IE并不支持属性选择器。
1.简单属性选择器
使用情况:如果希望有某个属性的元素,不在乎属性的值是什么。可以使用简单属性选择器。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> p[class] {color:blue;} </style></head><body><p class="one">第一段。</p><p class="two">第二段</p><p>第三段</p></body></html>
效果:
格式:元素|通配符[属性]
可以看到含有class属性的
元素的颜色变成了蓝色,并且对class的值并不关注。
还可以根据多个属性进行选择,如:a[href][title]{font-weight:bold;} //对同时具有href属性和title属性的元素变成粗体。
2.根据具体属性值选择
上面的例子是不关注属性值的选择器,那么现在我们要讲的就是需要关注属性值的选择器了。我们将上面的例子改变一下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> p[class="one"] {color:blue;} </style></head><body><h1 id="">123</h1><p class="one">第一段。</p><p class="two">第二段</p><p>第三段</p></body></html>
效果:
格式:元素|通配符[属性=属性值]
我们可以看到p[class="one"]等同于p.one,但是使用属性选择器可以针对其它属性值来选择元素,而不单单是达到类选择器的效果。
3.根据部分属性值选择
如果属性能接受词列表(词之间用空格分隔),可以根据其中任意一个词进行选择,如:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> h1[class~="box"]{color:blue;} </style></head><body><h1 id="">123</h1></body></html>
效果:
格式:元素|通配符[属性~=属性部分值]
更高级的css选择器(CSS2):
[foo^="bar"] 选择foo属性值以"bar"开头的所有元素
[foo$="bar"] 选择foo属性值以"bar"结尾的所有元素
[foo*="bar"] 选择foo属性值中包含字串"bar"的所有元素
4.特定属性选择类型
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> p[lang|="en"]{color:blue;} </style></head><body><p lang="en">段落1</p><p lang="en-a">段落2</p><p lang="en-b">段落3</p><p lang="cn-en">段落3</p><p lang="encn">段落4</p></body></html>
这个规则会匹配lang属性等于en或者以en-开头的所有元素,encn也不会起作用,因为不是en-开头,效果:
格式:元素|通配符[属性|="属性值"
六、后代选择器
h1 em{color:blue;}
可以看作对作为h1后代元素的em元素颜色改为蓝色,用代码展示就是:
<h1 id="em-em"><em>123</em></h1>
需要注意的是,这里是后代元素,而不只是子元素,如下面的代码也是有效的:
<h1 id="b-em-em-b"><b><em>123</em></b></h1>
如果只想缩小范围,选择子元素而不是后代元素,则可以使用下面的方式:
h1 > em{color:blue;}
选择相邻兄弟元素,如:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> h1+p{color:blue;} </style></head><body><p>段落1</p><h1 id="段落">段落2</h1><p>段落3</p><p>段落3</p><p>段落4</p></body></html>
效果:
通过h1+p匹配了之前的兄弟元素是
的所有符合要求的
元素,如果
元素之前元素隔着其它元素,则不符合匹配要求,但中间只隔着文本内容并不会影响匹配。
接下来我们要讲的就是更有意思伪类和伪元素了。
伪类
1.链接伪类
:link 指示作为超链接(即有一个href属性)并指向一个未访问地址的所有锚。有些链接会不正确的解释
:visited 指示作为已访问地址超链接的所有锚
例子:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> a:link {color:blue;} a:visited{color:red;} </style></head><body><a href="#1">被点击过了了</a><a href="#2">未被点击</a></body></html>
结果:
链接伪类也适用于ID选择器,如:
a#one:link{color:yellow;}
2.动态伪类
:focus 当前拥有输入焦点的元素
:hover 指示鼠标停留元素
:active 指示被用户输入激活的元素
例子:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>index</title> <style type="text/css"> input:focus{background-color:black;} a:hover {background-color:yellow;} a:active{background-color:red;} </style></head><body><input type="text"><a href="#6">例子</a></body></html>
无操作效果:
文本框获得焦点效果:
鼠标在文字上停留效果:
鼠标在文字上按下左键时效果:
伪元素
1.设置首字母样式
如将
元素中第一个字母变成红色:
p:first-letter{color:red;}
效果:
2.设置第一行的样式
如:
p:first-line{color:red;}
效果:
3.设置之前和之后元素的样式
如:
h2:before{content:"<<";color:blue;}h2:after{content:">>";color:red;}
效果:
第一次写博客,免不了诸多错误,仅作为个人学习笔记。作为一名在校学生,希望大家多多指教。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。


热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平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具