5.CSS基础_选择器2

1. 属性选择器:

通过元素的属性进行选择;
选择带name属性的li标签;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>属性选择器</title>
		
		<style type="text/css">
	
			li[name]{
				color: aqua;
				}		
			
		</style>
	</head>
	<body>
		<ul class="title">
			<li name="name01" id="id01">111</li>
			<li id="id02">2222</li>
			<li>3333</li>
			<li>4444</li>
			<li>55555</li>
		</ul>
		
	</body>
</html>

2. 层级选择器:

主要应用于选择父元素下的子元素,或者子元素下的子元素,可与标签元素结合,减少命名,同时通过层级,防止命名冲突;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>属性选择器</title>
		
		<style type="text/css">
			.class01 span{
				color: aqua;
			}
			
			#id01 p{
				color: #FF0000;
			}
			
			   
			
			
		</style>
	</head>
	<body>
		<div class="class01">
			<span>python01</span>
			<p>java01</p>
			
		</div>
		
		<div id="id01">
			<span>python02</span>
			<p>java02</p>
			
		</div>
		
		
	</body>
</html>

3.组选择器

多个选择器,每个选择器之间使用逗号隔开如果有同样的样式设置,可以使用组选择器;

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>属性选择器</title>
		
		<style type="text/css">
			
			.class01 span, #id01 p{
				color: aqua;
			}
			
			
				
		</style>
	</head>
	<body>
		<div class="class01">
			<span>python01</span>
			<p>java01</p>
			
		</div>
		
		<div id="id01">
			<span>python02</span>
			<p>java02</p>
			
		</div>
		
		
	</body>
</html>

4.伪类选择器

伪类:

同一个标签,根据其不同的种状态,有不同的样式。这就叫做“伪类”。伪类用冒号来表示。在支持CSS的浏览器中,链接不同状态都可以不同的方式显示,这些状态包括,活动状态,已被访问,鼠标悬停,未被访问状态等;
比如div是属于box类,这一点很明确,就是属于box类。但是a属于什么类?不明确。因为需要看用户点击前是什么状态,点击后是什么状态。所以,就叫做“伪类”。

静态伪类和动态伪类:

伪类选择器分为两种。

(1)静态伪类:只能用于超链接的样式。如下:

:link 超链接点击之前
:visited 链接被访问过之后

PS:以上两种样式,只能用于超链接。

(2)动态伪类:针对所有标签都适用的样式。如下:

:hover “悬停”:鼠标放到标签上的时候
:active “激活”: 鼠标点击标签,但是不松手时。
:focus :是某个标签获得焦点时的样式(比如某个输入框获得焦点)

超链接a标签

超链接的四种状态
a标签有4种伪类(即对应四种状态),要求背诵。如下:

:link “链接”:超链接点击之前
:visited “访问过的”:链接被访问过之后
:hover “悬停”:鼠标放到标签上的时候
:active “激活”: 鼠标点击标签,但是不松手时。

对应代码如下:

/*让超链接点击之前是红色*/
        a:link{
            color:red;
        }

        /*让超链接点击之后是绿色*/
        a:visited{
            color:orange;
        }
        /*鼠标悬停,放到标签上的时候*/
        a:hover{
            color:green;
        }
        /*鼠标点击链接,但是不松手的时候*/
        a:active{
            color:black;

记住,在css中,这四种状态必须按照固定的顺序写:

a:link 、a:visited 、a:hover 、a:active

代码实现:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>属性选择器</title>
		
		<style type="text/css">
			
			/*让超链接点击之前是红色*/
			        .box a:link{
			            color:red;
			        }
			
			        /*让超链接点击之后是绿色*/
			       .box a:visited{
			            color:orange;
			        }
			        /*鼠标悬停,放到标签上的时候*/
			        .box a:hover{
			            color:green;
			        }
			        /*鼠标点击链接,但是不松手的时候*/
			        .box a:active{
			            color:black;
							
		</style>
	</head>
	<body>
		
		<div class="box">
			<a href="http://www.baidu.com">访问百度</a>
			</div>
	</body>
</html>

如果不按照顺序,那么将失效

超链接的美化

问:既然a{}定义了超链的属性,和a:link{}定义了超链点击之前的属性,那这两个有啥区别呢?

答:

a{}和a:link{}的区别:

  • a{}定义的样式针对所有的超链接(包括锚点)
  • a:link{}定义的样式针对所有写了href属性的超链接(不包括锚点)
  • 超链接a标签在使用的时候,比较难。因为不仅仅要控制a这个盒子,也要控制它的伪类。

我们一定要将a标签写在前面,将:link、:visited、:hover、:active这些伪类写在后面。

动态伪类举例

我们在第一段中描述过,下面这三种动态伪类,针对所有标签都适用。

:hover “悬停”:鼠标放到标签上的时候
:active “激活”: 鼠标点击标签,但是不松手时。
:focus 是某个标签获得焦点时的样式(比如某个输入框获得焦点)

代码实现如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>css</title>
		<style type="text/css">
			  /*
			     伪类选择器:动态伪类
			   */
			 
			    /*
			     让文本框获取焦点时:
			     边框:#FF6F3D这种橙色
			     文字:绿色
			     背景色:#6a6a6a这种灰色
			    */
			   
			 input:focus{
			        border:3px solid #FF6F3D;
			        color:white;
			        background-color:#6a6a6a;
			    }
				
			 /*
			    鼠标放在标签上时显示蓝色
			    */
			    label:hover{
			        color:blue;
			    }
			
			/*
			    点击标签鼠标没有松开时显示红色
			    */
			    label:active{
			        color:red;
			    }
				
			
		</style>
		
	</head>
	<body>

			<label for="id01">姓名:</label>
			<input type="text" id="id01" name="username">
	
	</body>
</html>


版权声明:本文为qq_34400745原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。