CSS课程讲解2(伪类,盒子模型)

一.外联样式

通过link标签引入外部css文件夹中的xxx.css文件到head标签中
例:
在这里插入图片描述

二.

1.组选择器
选择器名称1,选择器名称2,选择器名称3,…{属性:属性值;属性;属性值}
例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			.div1,.div2,.div3,p,h1,h2{
				width: 200px;
				height: 100px;
             }
			.div1,.div2,.div3{
				background: green;
			}
			p,h1,h2{	
				background: red;
           }
		</style>
	</head>
	<body>
		<div class="div1">div1</div>
		<!--组合选择器-->
		<!--设置该html文档流中所有的标签  宽高一样,背景颜色不一样-->
		<div class="div2">div2</div>
		<div class="div3">div3</div>
		<p class="p1">p元素</p>
		<h1>标题1</h1>
		<h2>标题2</h2>
		<!--这个div和以上的所有div宽高不一样-->
		<div></div>
	</body>
</html>

2.伪类/伪元素选择器
a::伪类提高浏览器的兼容性
a:link 设置超链接未被访问时的页面显示
a:visited 设置超链接已被访问过时的页面显示
a:hover 设置鼠标悬停在超链接时的页面显示
a:active 设置点击时的超链接页面显示
注意:它们四个书写的顺序很重要(link和visited必须写到hover之前,active必须位于hover之后.)
3.返回顶部案例:通过name命名,超链接绑定
例:

<head>
		<meta charset="UTF-8">
		<title></title>
       <style type="text/css">
			a{
				text-decoration: none;          //去掉下划线//
				font-family: 阿美简体;
				font-size: 24px;
				color: black;
		    }
			//a::伪类:提高浏览器的兼容性//
			a:link{                    //设置超链接未被访问时的页面显示//
				color: red;
			}
			a:visited{            //设置超链接已被访问过时的页面显示//
				color: green;
			}
			a:hover{                   //设置鼠标悬停在超链接时的页面显示//
				color: deeppink;
			}	
			a:active{                     //设置点击时的超链接页面显示//
				color: gold;
			}	
			input:focus{
				background: red;
			}
			body:hover{
				background: grey;
			}
			div{
				width: 200px;
				height: 200px;
				background: green;
			}
			div:hover{
				width: 100px;
				height: 100px;
				background: url(img/bg2.jpg);
				background-repeat: no-repeat;	//去掉图片的重复性//
				background-size: 100% 100%;
			}
      </style>
</head>
	<body>
		<div></div>
		<input type="text" />
		<a href="#" name="mya">我的超链接</a>
		<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
		<br   /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
		<a href="#mya">返回顶部</a>
	</body>

4.圆角显示边框
border:none 无边框
//border-top-left-radius:50%;
border-top-right-radius:50%;
border-bottom-left-radius:50%;
border-bottom-right-radius:50%;//
简写://border-radius: 50%;//
边框的阴影:box-shadow: 20px 10px 60px 15px gray;(水平,垂直,模糊程度 ,阴影大小,颜色)
5.css三种样式的优先级
默认:行内>内嵌>外联
css三种样式的权重/改变优先级:!important
6.伪类选择的元素:nth-chid()
例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			li{
				list-style: none;
				float: left;
				border: 1px solid aqua;
				width: 50px;
				height: 50px;
				text-align: center;
				line-height: 50px;
			}
			div{
				width: 450px;
				height: 400px;
				margin: 100px auto;
			}
			li:nth-child(7n){
				background: red;
			}
			li:nth-child(6n){
				background: green;
			}
		</style>
	</head>
	<body>
		<div>
			<ul>
				<li>1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
				<li>5</li>
				<li>6</li>
				<li>7</li>
				<li>8</li>
				<li>9</li>
				<li>10</li>
				<li>11</li>
				<li>12</li>
				<li>13</li>
				<li>14</li>
				<li>15</li>
				<li>16</li>
				<li>17</li>
				<li>18</li>
				<li>19</li>
				<li>20</li>
				<li>21</li>
				<li>22</li>
				<li>23</li>
				<li>24</li>
				<li>25</li>
				<li>26</li>
				<li>27</li>
				<li>28</li>
				<li>29</li>
				<li>30</li>
				<li>31</li>
				<li>32</li>
				<li>33</li>
				<li>34</li>
				<li>35</li>
			</ul>
		</div>
	</body>
</html>

效果:
在这里插入图片描述
7.盒子模型
(1)重要的组成元素:
content(内容),padding(内边距),border(边框),margin(外边距)
(2)margin
margin:100px auto;(100px 表示的是上下的外边距 auto表示的左右水平居中)
margin:10px,20px,30px,40px;(上,右,下,左,)
margin;10px,20px,30px;(0px 表示上 20px表示左/右 30px表示下)
margin: 10px 20px;(10px表示上下 20px表示左右)
margin: 30px;(30px表示上右下左 都为这值)
(3)让元素中的内容与元素边框之间的距离增大,可以设置元素的内边距
padding: 10px 20px 30px 40px;(上10px,右20px,下30px,左40px)
padding: 10px 20px 30px;(上 , 左/右 , 下)
8.margin-top塌陷问题
产生:一个元素中含有一个子元素,给子元素添加margin-top时,会发现将设置的值添加给父元素,导致子元素设置margin-top失效
解决方法:
(1)给父元素加overflow:hidden;
(2)给父元素加border边框
(3) 伪元素
例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			.div1{
				
				width: 400px;
				height: 200px;
				background: red;
				//会改变大小//
				//padding: 30px;//
				//第一种解决margin-top塌陷问题的方式//
				//overflow: hidden;//
				
				//第二种方法解决margin-top塌陷问题*/
				//border: 10px solid black;//
				}
		//最常见的一个问题(bug): margin-top塌陷问题//
				//margin-top: 100px;//
			.div2{margin-top: 100px;
				margin-left: 30px;
			}
			//第三种方法//
			.div1:before{
				content: "";
				display: table;
			}
		</style>
	</head>
	<body>
		<div class="div1">
			<div class="div2">我爱学习学习使我快乐</div>
		</div>
	</body>
</html>

9.元素溢出
产生:元素溢出指一个元素中含有其他元素,而其他元素超出了这个元素(父元素),我们把这种情况称之为元素溢出.
解决方法:
overflow:hidden;超出父元素的部分隐藏(剪切)不在可见
overflow: scroll;设置此属性,内容会被裁剪, 但是会添加滚动条,以便显示被裁剪的内容
overflow:visible;默认值,不会修剪,会呈现在元素框外
overflow-y:scroll;垂直滚动条
overflow-x:scroll;水平滚动条
overflow:auto;如果剪切了才显示滚动条
10.布局中常见的三种标签
(1)块元素/标签:块元素会占据文档流的一行显示,即便设置了宽高也会占据一行显示.
(2)内联标签/元素:内联元素的大小是跟随元素内容的改变而改变,设置了宽高,也不会改变元素的大小,同时不会占据文档流的一行,从左往右编写执行
(3)内联块标签/元素:不占据一行,且能设置宽高.
display属性:
可以将内联元素转换成内联块元素/块元素,同时也可以将内联块元素转换成内联元素/块元素,还可以将块元素转换成内联元素/内联块元素
display属性值:
none:元素影藏不显示
inline: 转换成内联元素
block:转换成块元素,并显示元素
inline-block: 转换成内联块元素

猜你喜欢

转载自blog.csdn.net/qq_43434300/article/details/83759189
今日推荐