Categories: CSS教程

CSS 属性 选择器 | CSS教程

具有特定属性的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

这个人很懒,什么都没有留下~

Share
Published by
terry

Recent Posts

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

22 小时 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

1 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

2 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

2 周 ago

聊聊React和Vue组件更新的实现及区别

React 和 Vue 都是当…

3 周 ago