css层叠样式表(三)

css的三大特性

  • 概述
    层叠(覆盖)性、继承性、优先级

  • 层叠性
    相同的选择器设置相同的属性但值不同时,离结构近的样式会覆盖离结构远的样式(就近原则)。相同选择器设置不同样式不会重叠覆盖。

    <style>
    	div {
    		font-size: 28px;
    		color: yellow;
    	}
    	div {
    		color: teal; /*该颜色样式会覆盖上面的颜色样式*/
    	}
    </style>
    
  • 继承性
    子标签会继承父标签的有关文字的(font- , text- , line- , color)样式。

    <head>
    	<title>标题</title>
    	<style>
    		.nav {
    			font-size: 28px;
    			color: rgb(13, 102, 90);
    			text-decoration: underline;
    		}
    	</style>
    </head>
    <body>
    	<div class="nav">
    		<p>小盒子</p> /*p元素标签继承了,.nav的样式*/
    	</div>
    </body>
    
  • 优先级
    选择器是有优先级的,当两个不同选择器设置同一个元素的时候根据优先级应用样式。

    选择器权重
    继承或 *0,0,0,0
    元素选择器0,0,0,1
    类选择器,伪类选择器0,0,1,0
    ID选择器0,1,0,0
    行内样式 style=""1,0,0,0
    !important最高级

    注意:权重从左到右依次比较,权重可以叠加但是不会进位,所以类选择器永远大于元素选择器。

    <head>
    	<title>标题</title>
    	<style>
    		.nav {
    			color: red;
    		}
    		p {
    			color: #333!important;
    		}
    
    	</style>
    </head>
    <body>
    		<p class="nav">小盒子</p> /*颜色为黑色,因为类选择器的权重高于元素选择器*/
    </body>
    

    权重叠加: 使用复合选择器时,权重会进行叠加。

    <head>
    	<title>标题</title>
    	<style>
    		p {
    			color: #333!;
    		}
    		div p {
    			color: red;
    		}
    	</style>
    </head>
    
    <body>
    		<div>
    			<p>小盒子</p>  /* 小盒子的颜色是红色,因为该样式是复合标签设置的。权重为0,0,0,2 */ 
    		</div>
    </body>
    

盒子模型

  • 概述
    网页元素基本都是盒子,由边框、内外边距和实际内容组成。我们利用css进行布局和样式设置,再往盒子里面装内容。这也就是网页布局的本质。
    在这里插入图片描述

  • 盒子模型:边框 border
    边框由宽度,颜色和类型样式组成。

    <style type="text/css">
    	p {
    		border: #838bff 5px;/*边框颜色*/
    		border-style: solid;/*边框类型:solid实线、dashnd虚线、dotted点线*/
    		border-width: 20px; /*边框宽度*/
    		height: 100px; 		/*盒子设置一个高度*/
    	}
    	
    	/*复合写法 border: 边框宽度、类型、颜色; 无顺序要求 */
    	p {
    		border: 5px #FFC0CB dotted;
    		height: 100px; 
    	}
    	/*设置单独一边的边框样式:border-bottom: 1px solid red*/
    	p {
    		border-top: 5px solod antiquewhite;
    		border-bottom: 5px dashed #333333;
    		border-left: 3px dotted beige;
    		border-right: 5px dotted #FFC0CB;
    	}
    </style>
    
  • 设置表格边框
    单元格的边框不会重叠,可以使用合并单元格边框:border-collapse: collapse; ,来控制单元格边框。

    table,
    th,
    td {
    	border: 3px solid #a181ff;
    	border-collapse: collapse;  /*合并相邻单元格边框*/
    }
    

    注意:边框会改变盒子的实际大小。原始盒子不变,增加了边框的宽度

  • 内边距 padding
    控制和子内容到边框之间的距离

    div {
    	width: 100px;
    	height: 100px;
    	background-color: #FFC0CB;
    	/* 设置内边距 */
    	padding-top: 10px;
    	padding-bottom: 15px;
    	padding-left: 20px;
    	padding-right: 25px; 
    }
    

    复合写法

    值的个数描述
    padding: 5px;1个值,代表上下左右内边距5像素
    padding:5px 10px;2个值,代表上下内边距5像素 左右内边距10像素
    padding: 5px 10px 20px;3个值,代表上内边距5像素 左右内边距10像素 下内边距20像素
    padding: 5px 10px 20px 30px;4个值,上右下左内边距分别是5 10 20 30 像素(顺时针)
    div {
    	width: 100px;
    	height: 100px;
    	background-color: #FFC0CB;
    	/* 设置盒子内边距 */
    	padding: 5px;
    }
    

    注意:内边距会改变盒子的实际大小。原始盒子不变,增加了盒子到边框的距离。但是,当标签宽度为父标签宽度时,设置内边距不会撑开盒子宽度(前提是不设置盒子宽度)。

  • 外边距 margin
    控制盒子与盒子之间的距离。

    p {
    	height: 60px;
    	border: 5px solid red;
    	background-color: #33931e;
    	padding: 20px;
    	/*设置盒子外边距*/
    	margin-top: 10px;
    	margin-bottom:10px;
    	margin-left: 50px;
    	margin-right: 100px;
    }
    

    复合写法与内边距完全一样

    p {
    	height: 60px;
    	border: 5px solid red;
    	background-color: #33931e;
    	padding: 20px;
    	/*设置盒子外边距上下左右5像素*/
    	margin: 5px;	
    }
    
  • 外边距设置块级元素水平居中
    盒子必须设置宽度,然后将左右外边距设置为auto

    p {
    	height: 60px;
    	width: 400px;
    	background-color: #33931e;
    	/*设置盒子左右外边距auto*/
    	margin: 0 auto;
    }
    
  • 行内/行内块元素设置水平居中
    给行内/行内块元素添加 text-align: center; 属性

    <head>
    	<style type="text/css">
    		div {
    			text-align: center;
    		}
    	</style>
    </head>
    <body>
    	<div>
    		<a href="#"></a>
    	</div>
    </body>
    
  • 相邻块元素垂直外边距合并问题
    上下两个相邻的块元素,上面块设置下边距,下面块设置上边距,则他们之间的垂直间距为两者较大的值。相邻块元素垂直外边距取大值,建议只给一个盒子添加margin值

    <head>
    	<style type="text/css">
    	div {
    		width: 100px;
    		height: 100px;
    		background-color: #b2d5ff;
    	}
    	.nav1 {
    		margin-bottom: 20px;
    	}
    	.nav2 {
    		margin-top: 40px;
    	}
    	</style>
    </head>
    <body>
    	<div class="nav1">1</div>
    	<div class="nav2">2</div>
    </body>
    
  • 嵌套块元素上边距不以父元素上边距为基准
    当div1嵌套一个div2,设置div2的上边距需要先将div2与div1盒子分离,否则设置div2的上边距将会带着div1一起向下移动。解决方案:1.给父元素定义上边框,2.给父元素定义上内边距,3.添加overflow:hidden

    <head>
    	<style type="text/css">
    	.fs {
    		width: 200px;
    		height: 200px;
    		background-color: antiquewhite;
    		margin-top: 50px;
    		/* border-top: 1px solid transparent;  */
    		/* padding-top: 1px; */
    		/*overflow: hidden; /*推荐使用,不改变盒子大小*/
    	}
    	.sn {
    		width: 100px;
    		height: 100px;
    		background-color: #ffd8f8;
    		margin-top: 100px;
    	}
    	</style>
    </head>
    <body>
    	<div class="fs">
    		<div class="sn"></div>
    	</div>
    </body>
    
  • 布局前先清除内外边距
    注意:行内元素为了考虑兼容性,尽量只设置左右内外边距,不设置下上内外边距。如果确实需要就转为行内块元素。

    * {
    	padding: 0px;
    	margin: 0px;
    }
    
  • 去掉 li 前面的项目符号(小圆点)

    li {
    	list-style: none;
    }
    

圆角边框

  • 概述
    给盒子设置圆角边框,border-radius: 半径;。半径为圆,以圆切角,
    div {
    	width: 300px;
    	height: 120px;
    	background-color: #395d93;
    	margin: 100px auto;
    	
    	border-radius: 60px;/* 设置圆角边框*/
    	/* border-radius: 50%; */
    	border-radius: 60px 70px 80px 90px;/*左上角开始顺时针分别设置圆角 */
    	border-top-left-radius: 50px;/*单独设置一个角*/
    }
    

盒子阴影

  • 设置盒子阴影,box-shadow: X Y 模糊 大小 颜色 内外;
    div {
    	width: 300px;
    	height: 120px;
    	background-color: #395d93;
    	margin: 100px auto;
    	/*设置盒子阴影*/
    	box-shadow: 3px 5px 10px 3px #666666; 
    }
    /*鼠标经过有阴影*/
    div:hover {
        box-shadow: 3px 5px 10px 3px #666666; 
    }
    

文字阴影

p {
	/* X Y 模糊 颜色 */
	text-shadow: 5px 5px 3px #FFC0CB;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码下载:完整代码,可直接运行 ;运行版本:2022a或2019b或2014a;若运行有问题,可私信博主; **仿真咨询 1 各类智能优化算法改进及应用** 生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化 **2 机器学习和深度学习方面** 卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断 **3 图像处理方面** 图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知 **4 路径规划方面** 旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化 **5 无人机应用方面** 无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配 **6 无线传感器定位及布局方面** 传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化 **7 信号处理方面** 信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化 **8 电力系统方面** 微电网优化、无功优化、配电网重构、储能配置 **9 元胞自动机方面** 交通流 人群疏散 病毒扩散 晶体生长 **10 雷达方面** 卡尔曼滤波跟踪、航迹关联、航迹融合

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值