• 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>
  • 相关阅读:
    【leetcode】1365. How Many Numbers Are Smaller Than the Current Number
    【leetcode】1363. Largest Multiple of Three
    【leetcode】1362. Closest Divisors
    【leetcode】1361. Validate Binary Tree Nodes
    【leetcode】1360. Number of Days Between Two Dates
    【leetcode】1359. Count All Valid Pickup and Delivery Options
    【leetcode】1357. Apply Discount Every n Orders
    【leetcode】1356. Sort Integers by The Number of 1 Bits
    ISE应用入门的一些问题
    DDR的型号问题
  • 原文地址:https://www.cnblogs.com/mumuhanyan/p/7077954.html
Copyright © 2020-2023  润新知