• css小结


    css小结

    什么是css?

    层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
    (来自 百度百科

    层叠样式表是核心关键词,其中样式表负责美化,层叠标志样式不会被取代而只会被覆盖。

    css选择器

    基础选择器

    • html选择器
    • id选择器
    • class选择器

    当选择器冲突时,谁更精确就听谁的
    精确度:id选择器>class选择器>html选择器

    html标签选择器

    通过html标签名来选择元素
    ① 所有的html标签都可以当做选择器
    ② 无论标签藏多深都会被选中
    ③ 选择的是所有的标签而不是具体某个标签。所以说我们通过html标签选择器来设置的都是一些共性问题。
    

    id选择器

    ① 任何的标签都可以有id属性和属性值(因为id是一个全局属性)。id命名不能随意的命名。
    大小写敏感 ,id的名字中可以有数字字母下划线,但是要以字母开头。
    	驼峰命名法 小驼峰命名  大驼峰命名 
    		testHeader 小驼峰  TestHeader 大驼峰 
    		test-header test_header 
    ② 但是id名不能够重复 
    

    class选择器

    ① 任何的标签都可以使用class属性(class属性也是一个全局属性) 
    ② class属性名可以重复使用 
    ③ 一个class属性中,可以有多个class属性值。	
    

    测试:

    	<head>
    		<meta charset="UTF-8">
    		<title>Document</title>
    		<style>
    		/*html标签选择器 */
    			p {
    				color: red;
    			}
    	
    			/*id选择器*/
    			#d1 {
    				color: green;
    			}
    	
    			/*class选择器*/
    			/*class可以重复使用*/
    			.e1 {
    				color: blue;
    			}
    		</style>
    	</head>
    	<body>
    	<!-- 不够精确 -->
    		<p>
    			我是第一个p标签
    		</p>
    		<p>
    			我是第二个p标签
    		</p>
    	
    		<p>
    			adasdas
    		</p>
    	
    		<div id="d1">
    			我是一个div
    		</div>
    	<!-- title id  class  -->
    		<em class="e1">我是em,表示强调</em>
    	</body>
    

    综合选择器

    1. 后代选择器 div p

       <head>
       	<meta charset="UTF-8">
       	<title>Document</title>
       	<style>
       	/*后代选择器*/
       		.d1 span {
       			color: blue;
       		}
       	</style>
       </head>
       <body>
       	<div class="d1">
       		<span>我是一级span</span>
       
       		<div class="son">
       			
       			<span>我是二级span</span>
       
       			<div class="d2">
       				<span>我是三级span</span>
       			</div>
       		</div>
       	</div>
       </body>
      
    2. 交集选择器 div.d1

       <head>
       	<meta charset="UTF-8">
       	<title>Document</title>
       	<style>
       		/*选中div,并且这个div的名字叫d1*/
       		div.d1 {
       			color: red;
       		}
       		/*选中em,并且这个em的名字叫d1*/
       		em.d1 {
       
       		}
       	</style>
       </head>
       <body>
       	
       	<div class="d1">我的名字叫d1,我是一个div</div>
       	<h1 class="d1">我的名字也是d1 ,但是我是一个h1</h1>		
       	<em class="d1">我是em,我的名字也是d1</em>		
       	<div>我是一个没有名字的div</div>
       </body>
      
    3. 并集选择器 div,p

       <head>
       	<meta charset="UTF-8">
       	<title>Document</title>
       	<style>
       		.d1,p,em {
       			color: red;
       		}
       	</style>
       </head>
       <body>
       	<div class="d1">我是一个div</div>	
       	<p>我是第一个p标签</p>
       	<em>我是em标签 </em>
       	<p>我是第二个p标签</p>
       </body>
      
    4. 子(直系儿子)元素选择器 div>p

       <head>
       	<meta charset="UTF-8">
       	<title>Document</title>
       	<style>
       		#fa>em {
       			color: red;
       		}
       	</style>
       </head>
       <body>			
       	<div id="fa">				
       		<em>我是二级em</em>		
       		<div class="son">
       			<em>我是三级em</em>		
       			<div>
       				<em>我是四级em</em>
       			</div>
       		</div>
       	</div>		
       </body>
      
    5. 序列选择器 ul li:first-child ul:li:last-child

       /*只能选中第一个和最后一个*/
       <head>
       	<meta charset="UTF-8">
       	<title>Document</title>
       	<style>
       		ul li:first-child {
       			color: red;
       		}
       		ul li:last-child {
       			color: blue;
       		}
       	</style>
       </head>
       <body>			
       	<ul>
       		<li>li1</li>
       		<li>li2</li>
       		<li>li3</li>
       		<li>li4</li>
       		<li>li5</li>
       	</ul>		
       </body>
      
    6. 相邻兄弟选择器 div + p

       <head>
       	<meta charset="UTF-8">
       	<title>Document</title>
       	<style>
       	/*相邻兄弟选择器*/
       		div + p {
       			color: red;
       		}
       	
       	</style>
       </head>
       <body>
       	<div>我是div</div>		
       	<p>我是p标签</p>
       	<p>我是第二个p标签</p>
       </body>
      
    7. 普通兄弟选择器 div ~ p

       <head>
       	<meta charset="UTF-8">
       	<title>Document</title>
       	<style>
       		/*普通兄弟选择器*/
       		div ~ p {
       			color: red;
       		}
       		/*p + p {
       			color: blue;
       		}*/
       	</style>
       </head>
       <body>
       	<div>我是div</div>		
       	<p>我是p标签</p>
       	<p>我是第二个p标签</p>
       </body>
      

    继承和层叠

    1. 继承:父元素的某些css属性会被子元素无条件的继承过去。
      关于文字的css属性都可以进行继承,如:color text- line- font- 等
    2. 层叠:层叠解决的是css冲突的问题。

    css冲突时,比较权重来解决层叠问题。

    !important 能够把"单独属性"的权重变为无限大。 尽量少用。

    继承测试:

    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style>
    		.d1 {
    			color: red;
    		}
    	</style>
    </head>
    <body>
    	<div class="d1">
    		<span>hello,world</span>
    	</div>
    </body>
    

    权重比较:先看是否选中标签,若选中,则按照id,class,html的顺序比较,当权重相同时,就近原则;若没有选中,则就近原则。

    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style>
    	/*id  class html */
    		#box1 .hezi2 p {  /* 1   1   1*/
    			color: red;
    		}
    
    		div div #box3 p {  /*1  0  3*/ 
    			color: green;
    		}
    
    		div.hezi1 div.hezi2 div.hezi3 p { /*0 3 4 */ 
    			color: blue;
    		}
    	</style>
    </head>
    <body>		
    	<div class="hezi1" id="box1">
    		<div class="hezi2" id="box2">
    			<div class="hezi3" id="box3">
    				<p>文字颜色</p>
    			</div>
    		</div>
    	</div>	
    </body>
    

    块级元素和行内元素

    块级元素和行内元素的区别:
    	1. 行内元素部不能够设置宽度和高度。行内元素的宽度和高度是标签内容的宽度和高度。块级元素可以设置宽度和高度。
    
    	2. 块级元素会独占一行。而行内元素却部能够独占一行,只能和其他的行内元素共用一行。
    
    	3. 如果块级元素不设置宽度,那么块级元素会自动的沾满父元素的全部宽度。
    
    块级元素和行内元素之间的转换:  
    display: inline block inlin-block
    

    块级元素和行内元素之间的转换测试:

    	<head>
    		<meta charset="UTF-8">
    		<title>Document</title>
    		<style>
    			.s1 {
    				 300px;
    				height: 300px;
    				background-color: blue;
    				display: block;/*将行内元素变成块级元素*/
    			}
    			em {
    				 300px;
    				height: 300px;
    				background-color: green;
    				display: inline-block; /*行内块元素*/
    			}
    			.d1 {
    				 300px;
    				height: 300px;
    				background-color: red;
    				display: inline-block;
    			}
    			.d2 {
    				 300px;
    				height: 300px;
    				background-color: blue;
    				display: inline-block;			
    			}
    		</style>
    	</head>
    	<body>
    		<div class="d1">Hello,Div</div>
    		
    		<span class="s1">hello,Span</span>
    	
    		<em>hello,Em</em>  
    		<hr>
    	
    		<div class="d1"></div>
    		<div class="d2"></div>
    	</body>
  • 相关阅读:
    python之道04
    python之list [ 列表 ]
    end和sep的使用方法
    pass1
    python之for (循环)
    python之range (范围)
    python之str (字符型)
    python之bool (布尔值)
    python之int (整型)
    python之道03
  • 原文地址:https://www.cnblogs.com/mumuhanyan/p/7077954.html
Copyright © 2020-2023  润新知