具有特定属性的HTML元素样式
具有特定属性的HTML元素样式不仅仅是class和id。
注意:IE7和IE8需声明!DOCTYPE才支持属性选择器!IE6和更低的版本不支持属性选择器。
属性选择器
下面的例子是把包含标题(title)的所有元素变为蓝色:
<!DOCTYPE html> <html> <head> <style> [title] { color:blue; } </style> </head> <body> <h2>Will apply to:</h2> <h1 title="Hello world">Hello world</h1> <a title="web176.com" href="//www.web176.com/">web176.com</a> <hr> <h2>Will not apply to:</h2> <p>Hello!</p> </body> </html>
属性和值选择器
下面的实例改变了标题title=’runoob’元素的边框样式:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>web176教程网(web176.com)</title> <style> [title=runoob] { border:5px solid green; } </style> </head> <body> <h2>将适用:</h2> <img title="web176" src="/images/logo.svg" width="270" height="50" /> <br> <a title="web176" href="//www.web176.com/">runoob</a> <hr> <h2>将不适用:</h2> <p title="greeting">Hi!</p> <a class="web176" href="//www.web176.com/">runoob</a> </body> </html>
属性和值的选择器 – 多值
下面是包含指定值的title属性的元素样式的例子,使用(~)分隔属性和值:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>web176教程网(web176.com)</title> <style> [title~=hello] { color:blue; } </style> </head> <body> <h2>将适用:</h2> <h1 title="hello world">Hello world</h1> <p title="student hello">Hello CSS students!</p> <hr> <h2>将不适用:</h2> <p title="student">Hi CSS students!</p> </body> </html>
下面是包含指定值的lang属性的元素样式的例子,使用(|)分隔属性和值:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>web176教程网(web176.com)</title> <style> [lang|=en] { color:blue; } </style> </head> <body> <h2>将适用:</h2> <p lang="en">Hello!</p> <p lang="en-us">Hi!</p> <p lang="en-gb">Ello!</p> <hr> <h2>将不适用:</h2> <p lang="us">Hi!</p> <p lang="no">Hei!</p> </body> </html>
表单样式
属性选择器样式无需使用class或id的形式:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>web176教程网(web176.com)</title> <style> input[type="text"] { width:150px; display:block; margin-bottom:10px; background-color:yellow; } input[type="button"] { width:120px; margin-left:35px; display:block; } </style> </head> <body> <form name="input" action="demo-form.php" method="get"> Firstname:<input type="text" name="fname" value="Peter" size="20"> Lastname:<input type="text" name="lname" value="Griffin" size="20"> <input type="button" value="Example Button"> </form> </body> </html>
补充:
CSS 属性选择器 ~=, |=, ^=, $=, *= 的区别
先上总结:
“value 是完整单词” 类型的比较符号: ~=, |=
“拼接字符串” 类型的比较符号: *=, ^=, $=
1.attribute 属性中包含 value:
[attribute~=value] 属性中包含独立的单词为 value,例如:
[title~=flower] --> <img src="/i/eg_tulip.jpg" title="tulip flower" />
[attribute*=value] 属性中做字符串拆分,只要能拆出来 value 这个词就行,例如:
[title*=flower] --> <img src="/i/eg_tulip.jpg" title="ffffflowerrrrrr" />
2.attribute 属性以 value 开头:
[attribute|=value] 属性中必须是完整且唯一的单词,或者以 – 分隔开:,例如:
[lang|=en] --> <p lang="en"> <p lang="en-us">
[
attribute^=value] 属性的前几个字母是 value 就可以,例如:
[lang^=en] --> <p lang="ennn">
3.attribute 属性以 value 结尾:
[attribute$=value] 属性的后几个字母是 value 就可以,例如:
a[src$=".pdf"]
作者:terry,如若转载,请注明出处:https://www.web176.com/css/5267.html