最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

    正文概述 掘金(空城机)   2021-04-02   702

    目录

    伪类

    伪元素

    子元素和后代元素选择器

    盒子模型

    边距

    边框

    边框样式

    内联元素盒子模型


    伪类

    伪类:专门用来表示元素的一种特殊状态
    *         比如:访问过的超链接,普通的超链接。获取焦点的文本框
    *         当我们需要为这些需要处在这些特殊状态的元素设置样式时,就可以使用伪类
    *         给链接设置:
    *             正常链接:a:link
    *             访问过的链接:a:visited(只能定义字体颜色)
    *             鼠标滑过的链接:a:hover
    *             正在点击的链接:a:active
    *             浏览器通过浏览记录判断链接是否访问过,由于涉及到用户隐私,所以visited只能定义颜色
    *             hover和active也可以为其他元素设置

    例子:

    <style type="text/css">		
    			 /*
    			  * 为没访问过的链接设置一个颜色
    			  */
    			 a:link{
    			 	color: purple;
    			 }		 
    			 a:hover{
    			 	color: gold;
    			 }			 
    			 /*
    			  * :foucs:获取焦点			:before:获取焦点前
    			  * :after:获取焦点后			::selection:选中的元素
    			  * 文本框获取焦点以后,修改背景颜色
    			  */
    			 input:focus{
    			 	background-color: yellowgreen;
    			 }
    		</style>
    	</head>
    	<body>
    		<a href="块和内联.html">访问块和内联的链接</a>
    		<br />
    		<input type="text" />
    	</body>
    

    鼠标未移动到链接上 

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

    鼠标移动到超链接上

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

    鼠标点击输入框之后

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

     

    伪元素

    CSS 伪元素用于向某些选择器设置特殊效果。

    伪元素选择器:使用伪元素来表示元素中的一些特殊位置
    比如:首字母::first-letter
    首行::first-line
    :brfore :表示元素最前面的部分,一般before都需要和content一起使用
    :after  :表示元素最后面的部分,一般after都需要和content一起使用
    通过content可以向before和after添加一些内容,不能被选中

    伪元素的语法:

    selector:pseudo-element {property:value;}

    CSS类也可以使用伪元素:

    selector.class:pseudo-element {property:value;}

    伪元素基本应用例子:

    <style type="text/css">
    			/*
    			 * 为p中的第一个字符来设置一个特殊的样式
    			 */
    			p:first-letter{
    				color: blue;
    			}
    		</style>
    	</head>
    	<body>
    		<p>伪元素选择器</p>
    	</body>
    

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

     

    子元素和后代元素选择器

    子元素选择器;选中指定父元素的指定子元素
    *         语法:父元素>子元素{}

    例子:

        <head>
    		<meta charset="utf-8">
    		<title>子元素和后代元素选择器</title>		
    		<style type="text/css">
    			/*
    			 * 子元素选择器;选中指定父元素的指定子元素
    			 * 		语法:父元素>子元素
    			 */
    			div>p>span{
    				color: red;
    			}
    		</style>
    	</head>
    	<body>
    		<div >
    			<p>这是一个div元素中的p元素<br />
    				<span>这是一个div元素中的p元素中的span元素</span>			
    			</p>
    		</div>
    
    	</body>
    

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

    后代元素选择器:选中指定元素的指定后代元素
    *         语法:祖先元素 后代元素{}

    例子:

        <head>
    		<meta charset="utf-8">
    		<title>子元素和后代元素选择器</title>
    		<style type="text/css">
    			/**
    			 * 为div元素中的span元素设置一个颜色为红色
    			 * 后代元素选择器:选中指定元素的指定后代元素
    			 * 		语法:祖先元素 后代元素{}
    			 * 		
    			 */
    			div .o span{
    				color: blue;
    			}
    		</style>
    	</head>
    	<body>
    		<div >
    			<p class="o">这是一个div元素中的p元素<br />
    				<span>这是一个div元素中的p元素中的span元素</span>			
    			</p>
    		</div>
    	</body>
    

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

     

    盒子模型

    CSS 盒子模型(Box Model)

    所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

    CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

    盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

    一个盒子会分成几个部分:
    1.内容区    2.内边距    3.边框    4.外边距

    下面的图片说明了盒子模型(Box Model):

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

    • Margin(外边距) - 清除边框外的区域,外边距是透明的。
    • Border(边框) - 围绕在内边距和内容外的边框。
    • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
    • Content(内容) - 盒子的内容,显示文本和图像。

    边距

    盒子可见框的宽度=border-left-width + padding-left + width +padding-right + border-right-width

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

    **内边距(padding):    盒子里内容区与边框之间的距离
    一共有四个方向的内边距,可以通过四个属性设置
    内边距会影响盒子的可见框大小,元素的背景会延伸到内边距
    **

    padding属性定义及使用说明

    padding 简写属性在一个声明中设置所有填充属性。该属性可以有1到4个值。

    实例:

    • padding:10px 5px 15px 20px;

      • 上填充是 10px
      • 右填充是 5px
      • 下填充是 15px
      • 左填充是 20px
    • padding:10px 5px 15px;

      • 上填充是 10px
      • 右填充和左填充是 5px
      • 下填充是 15px
    • padding:10px 5px;

      • 上填充和下填充是 10px
      • 右填充和左填充是 5px
    • padding:10px;

      • 所有四个填充都是 10px

    例子:

    <head>
    		<meta charset="utf-8">
    		<title>边距</title>
    		<style type="text/css">		
    			.box1{
    				width: 200px;
    				height: 200px;
    				background-color: greenyellow;
    				border: double;
    	
    				padding-left:100px ;
    				padding-right:100px ;
    				padding-top:100px ;
    				padding-bottom:100px ;				
    			}
    			#box2{
    				/*创建一个子元素box2来覆盖父元素*/
    				width: 200px;
    				height: 200px;
    				background-color: royalblue;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="box1">
    			<div id="box2">				
    			</div>
    		</div>
    	</body>
    

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

     

    外边距:

    可能的值

    说明
    auto设置浏览器边距。 这样做的结果会依赖于浏览器length定义一个固定的margin(使用像素,pt,em等)%定义一个使用百分比的边距

    margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的。

    margin 可以单独改变元素的上,下,左,右边距,也可以一次改变所有的属性。

    外边距指的是盒子与其他盒子之间的距离,不会影响盒子可见框的大小
    有四个方向的外边距:

    1. margin-top
    2. margin-left
    3. margin-right
    4. margin-bottom

    例子:

        <head>
    		<meta charset="utf-8">
    		<title>边距</title>
    		<style type="text/css">
    			 .box3{
    			 	width: 100px;
    			 	height: 100px;
    			 	background-color: red;
    			 	margin-top: 50px;
    			 	margin-left: 100px;
    			 }
    		</style>
    	</head>
    	<body>
    		<div class="box3"></div>
    	</body>
    

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

     

    边框

    CSS边框属性允许你指定一个元素边框的样式和颜色。

    为元素设置一个边框必须指定三个样式:

    1. border-width边框宽度
    2. border-color边框颜色
    3. border-style边框样式:solid实线,dashed虚线,dotted点状边框,double双线

    边框宽度可以不一致border-width:10px 20px 30px 40px;

     

    边框样式

    边框样式属性指定要显示什么样的边界。

    border-style属性用来定义边框的样式

    border-style 值:

    none默认无边框
    dotted定义一个点线边框dashed定义一个虚线边框solid定义实线边框double定义两个边框。 两个边框的宽度和 border-width 的值相同groove定义3D沟槽边框。效果取决于边框的颜色值ridge定义3D脊边框。效果取决于边框的颜色值inset定义一个3D的嵌入边框。效果取决于边框的颜色值outset定义一个3D突出边框。 效果取决于边框的颜色值

    例子:

        <head>
    		<meta charset="utf-8">
    		<title>盒子模型(框模型)</title>
    		<style type="text/css">
    			.box1{
    				/*
    				 *使用width,height来显示内容区的宽度和高度
    				 * */
    				width: 100px;
    				height: 100px;
    				background-color:yellow ;
    	
    				border-width:5px ;
    				border-color: green orange blueviolet red; 
    				border-style:dotted ;
    			}
    		</style>
    	</head>
    	<body>
    		<div class="box1">
    			
    		</div>
    	</body>
    

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

     

    内联元素盒子模型

    内联元素不能设置width和height
    内联元素可以设置水平方向内边距和垂直方向内边距padding-left\right\top\bottom

    将一个内联元素变成块元素,通过display样式可以修改元素的类型

    • inline:将一个元素变成内联元素显示
    • block:将一个元素变成块元素显示
    • inline-block:将一个元素设置为行内块元素,既可以设置宽高,又不独占一行

    例子:

        <head>
    		<meta charset="utf-8">
    		<title>内联元素的盒子模型</title>
    		<style type="text/css">
    			#a{
    				background-color: cornflowerblue;
    				padding-left: 50px;
    				padding-right: 50px;
    				/**内联元素支持边框,可以设置边框**/
    				border: 2px red solid;
    				/**内联元素可以设置外边距,水平方向外边距不会重叠*/
    				margin-right: 30px;
    			}			
    			a{				
    				background-color: chartreuse;
    				
    				display: block;
    				width: 100px;
    				height: 100px;
    				/**visibility可以用来设置元素的隐藏和显示状态
    				 * 		visible:默认值,元素显示
    				 * 		hidden:元素隐藏*/
    				visibility: visible;
    			}
    			#box1{
    				background-color: greenyellow;
    				width: 100px;
    				height: 100px;
    			}
    		</style>
    	</head>
    	<body>
    		<span id="a">
    			这是一个span元素,有多大占多大
    		</span>		
    		<span id="b">
    			这是一个span元素,有多大占多大
    		</span>		
    		<div id="box1">			
    		</div>
    		<a href="#">这是一个超链接</a>
    	</body>
    

    CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

     

    一起学习,一起进步 -.- ,如有错误,可以发评论 


    起源地下载网 » CSS回顾总结(二)——伪类、伪元素、子元素和后代元素选择器、盒子模型

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元