具有特定属性的HTML元素样式不仅仅是class和id。
注意:IE7和IE8需声明!DOCTYPE才支持属性选择器!IE6和更低的版本不支持属性选择器。
属性选择器
下面的例子是把包含标题(title)的所有元素变为蓝色
属性选择器 - [属性名]
属性选择器实例代码
<style>
[title]
{
color:blue;
}
</style>
</head>
<body>
<h2>Will apply to:</h2>
<h1 title="Hello world">Hello world</h1>
<a title="python-xp.com" href="//www.python-xp.com/">python-xp.com</a>
<hr>
<h2>Will not apply to:</h2>
<p>Hello!</p>
属性和值选择器
选择器 | 例子 | 例子描述 |
---|---|---|
[attribute] | [target] | 选择带有 target 属性的所有元素。 |
[attribute=value] | [target=_blank] | 选择带有 target="_blank" 属性的所有元素。 |
[attribute~=value] | [title~=flower] | 选择带有包含 "flower" 一词的 title 属性的所有元素。 |
[attribute|=value] | [lang|=en] | 选择带有以 "en" 开头的 lang 属性的所有元素。 |
[attribute^=value] | a[href^="https"] | 选择其 href 属性值以 "https" 开头的每个 <a> 元素。 |
[attribute$=value] | a[href$=".pdf"] | 选择其 href 属性值以 ".pdf" 结尾的每个 <a> 元素。 |
[attribute*=value] | a[href*="w3school"] | 选择其 href 属性值包含子串 "w3school" 的每个 <a> 元素。 |
下面的实例改变了标题title='yuanbian'元素的边框样式
属性和值实例代码
<style>
[title=yuanbian]
{
border:5px solid green;
}
</style>
</head>
<body>
<h2>将适用:</h2>
<img title="yuanbian" src="/uploads/2022/1/b3f79347-8984-4e41-b4a8-9829c4c45244.jpg" width="270" height="50" />
<br>
<a title="yuanbian" href="python-xp.com">yuanbian</a>
<hr>
<h2>将不适用:</h2>
<p title="greeting">Hi!</p>
<a class="yuanbian" href="//python-xp.com/">python-xp.com</a>
</body>
只有title=yuanbian
的元素会拥有绿色边框
属性多值选择器
下面是包含指定值的title属性的元素样式的例子,使用(~)分隔属性和值:
~=选择器实例代码
title值中包含hello的字体色彩为蓝色
<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>
|=选择器实例代码
下面是包含指定值的lang属性的元素样式的例子,使用(|)分隔属性和值:
<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>
表单样式
属性选择器样式无需使用class或id的形式,通过type属性值可以选择对表单元素设置样式
<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="#" 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>
讨论区