CSS基础知识复习二

一.CSS行高的测量和水平居中

	1.line-height:可以垂直居中
		方式:line-height   等于  元素整个内容区  居中显示
		           小于  ,那么内容偏上显示。
		           大于  ,那么内容偏下显示。
				   此外三种取值:top  middle  bottom,分别可以,上,中,下显示。
	2.text-align:center,水平居中
					此外三种取值:left center right,分别左,中,右显示。

二:CSS的三大特性

	1.层叠性:
		当CSS的属性和属性值重复时;最后写的值会覆盖之前CSS属性,如代码所示,最后显示棕色
p {
      font-size: 56px;
      font-weight: bold;
      color: red;
      color: blue;
      color: brown;
   }
	2.继承性:
		(1)即后代可以继承父元素的特性。
  		(2)元素本身的样式大于继承的样式。
  		(3)继承最近的父元素样式。
	3.选择器的优先级和权重性
		(1)权重值以及比较:0<1<10<100<1000<10000
			*<标签=伪元素选择器<类名选择器=属性选择器=伪类选择器<id<内联样式<!important
		(2)判断权重顺序精简版本:
			判断选择器是否选中的是同一个元素:
			否:使用元素对应的选择器,再使用此选择器的样式。
			是:首先判断权重,权重大的样式生效,权重相同,判断是否层叠,层叠,则之后的样式覆盖之前的样式。
			另外:如果有多层div嵌套,name通过后代选择器选中的div是最里层的div,如代码,两个选择器选择的都是<div id="box3" class="c3"></div>。
div #box3  { 
	color:green;
}
#box1 div {
	color:yellow; 
} 
<div id="box1" class="c1">
		<div id="box2" class="c2">
			<div id="box3" class="c3">
				<!--  -->
				文字
			</div>
		</div>
	</div>

三:背景属性

.box2 {
	  background-color: rgb(255,0,0);
      /* 背景颜色的设置 */
      background-color: rgba(255,0,0,0.5);
      /* 背景颜色和颜色的透明度设置,透明度0~1,越高越不透明 */
      opacity: 0.5;
      /* 单独设置透明度 */
      background-image: url("http://newsimg.5054399.com/uploads/userup/2011/1015302T150.jpg");
      /* 背景图片属性:url为载入图片的地址 */
      background-repeat: no-repeat;
      /* 背景图片是否平铺平铺方向,水平方向和垂直方向 */
      background-size: 100% 100%;
      /* 背景图片的大小:可以用100% 100%,100px 100px */
      background-position: right top;
      /* 背景图片的位置:100% 100% ,100px 100px,(left/right top/bottom,center top/bottom, left/right center) */
}

四.盒子模型和内外边距及边框,圆角

	1.盒子有三部分组成,分别是内边距padding,边框border,外边距margin。
		一般设置宽高,设置的是内容的大小,不包括padding
	2.边框border
		可以为上左下右分别赋值,代码如下
	  border-top-width: 10px;
      border-top-color: blue;
      border-top-style: double;
      border-left-color: yellow;
      border-left-width: 10px;
      border-left-style: dotted;
      border-bottom-width: 10px;
      border-bottom-color: lightgreen;
      border-bottom-style: dashed;
      border-right-width: 10px;
      border-right-color: #000;
      border-right-style: solid;
      /* 或者为综合属性border赋值,如果四边属性值一样 */
      border: 1px solid black;
	3.内边距padding,作用是可以填充上下左右边框与内容之间的距离,代码。
	  padding-top: 20px;
      padding-left: 40px;
      padding-bottom: 100px;
      padding-right: 200px;
      /* 如果为综合属性时,遵循以下规则 */
      /* 顺时针顺序赋值给padding,从上开始 */
      padding: 20px 40px 60px 100px;
      /* 从上开始,左右为40,下为100 */
      padding: 20px 40px 100px;
      /* 先上下,再左右 */
      padding: 20px 40px;
      /* 全部为20 */
      padding: 20px;
	4.圆角
		border-radius:有两种值
	  width: 300px;
	  height: 300px;
	  border-radius: 150px;
      border-radius: 50%;

五.内容和盒子居中问题

	1.text-align:center;
		内容水平居中,即内容相当于当前块状元素的宽度水平居中
			内容包括:1.文本内容,2.行内元素,3.行内块元素,4.块状元素
			注意:如果内容是一个设置了宽度的块状元素,想要此种块状元素居中,就必须设置属性,margin:auto;否则不能居中
	2.line-height:高度值;
		内容垂直居中,即内容相当于当前块状元素的高度垂直居中。
			内容包括:1.文本内容,2.行内元素,3.可以让input元素居中,但是,不可以使图片居中。
		块状元素垂直居中:通过属性margin-top:高度值;进行调整,使元素居中。

六.外边距合并/塌陷

	1.相邻块状元素塌陷问题
		当垂直方向相邻的两个元素,在没有边框和内边距的时候,他们的垂直相邻外边距(第一个的margin-bottom和的第二个的margin-top)会发生塌陷。即他们的外边距会取两个元素的最大值,这种现象塌陷,如代码,其中,两个div的距离是70px。
	.box1 {
      width: 400px;
      height: 300px;
      background-color: red;
      margin-bottom: 70px;
      overflow: hidden;
    }
    .box2 {
      width: 400px;
      height: 300px;
      background-color: blue;
      margin-top: 50px;
    }
  <div class="box1"></div>
  <div class="box2"></div>
	2.嵌套块状元素塌陷问题
		当垂直方向牵嵌套的父子元素,在没有上边框和上内边距的时候,他们的垂直方向的边距发生合并(子元素的margin-top:70px;会使父元素向父元素的相邻元素进行下移70像素,除非父元素也设置了martop-top:100px,这样才会使父元素向上平移100像素),解决这种塌陷,三种方法。1.为父元素添加上边框,2.为父元素添加上内边距,3.给父元素添加overflow属性。代码如下
	.outer {
       width: 400px;
       height: 300px;
       background-color: brown;
       margin-top: 100px;
       /* border: 1px solid #000; */
       /* overflow: hidden; */
     }
     .inner {
       width: 100px;
       height: 100px;
       background-color: grey;
       margin-top: 70px;
     }
  <div class="outer">
    <div class="inner">
    </div>
  </div>

七.浮动

	1.浮动解释:
		脱离标准流,浮动起来。
	2.浮动后块状元素的特点
		1.浮动的元素,可以遮蔽了未浮动的元素。
		2.浮动的元素,不会占据标准流的位置。
		3.所有浮动的元素,都会在浮动流显示,在同一平面上展示出来
		4.浮动后的元素,不会超过父元素的内容范围。
		5.浮动后的元素,不会覆盖也不会超出父元素的边框和内边距。
		6.由于多个浮动后的元素,在同一行显示,又可以设置宽和高,所以就不是块状元素,变为了行内块元素。
	3.清除浮动
		原因:因为浮动对其他元素带来了影响,如代码,带outer类名的div会消失不见
	.outer {
      width: 800px;
      background-color: red;
    }
    .inner1 {
      width: 200px;
      height: 300px;
      background-color: #fff;
      float: left;
    }
    .inner2 {
      width: 200px;
      height: 300px;
      background-color: blue;
      float: left;
    }
  <div class="outer">
    <div class="inner1"></div>
    <div class="inner2"></div>
  </div>
		清除浮动方法:
			1.额外标签方法:在父元素中添加额外的子元素,并带有clear:left属性就可以清除浮动
				优点:通俗易懂,书写方便。
				缺点:有影响,添加新的无意义子元素,结构语义化会很差。
	<div class="outer">
	    <div class="inner1"></div>
	    <div class="inner2"></div>
		<div style="clear: left;"></div>
	</div>
	        2.给父元素添加overflow:hidden;
	        	优点:代码简单
	        	缺点:元素内容增多,会造成不会自动换行而导致内容被隐藏掉,无法显示需要溢出的元素。
	<div class="outer">
	    <div class="inner1"></div>
	    <div class="inner2"></div>
		<div style="clear: left;"></div>
	</div>
	        3.父元素添加伪元素清除浮动::after { content: "";display: block;clear: both;}
	        	优点:不会对结构和内容产生影响
	        	缺点:不知IE6及之前的版本
	.clearfix::after {
      content: "";
      display: block;
      clear: both;
    }
	<div class="outer clearfix">
	    <div class="inner1"></div>
	    <div class="inner2"></div>
	</div>
	        4.双伪元素清除浮动::after和:before,即两个伪元素一起使用,触发BFC来清除浮动。
	.clearfix::after,
	.clearfix::before {
      content: "";
      display:table;
      clear: both;
    }
	<div class="outer clearfix">
	    <div class="inner1"></div>
	    <div class="inner2"></div>
	</div>

八.四种定位及其特点

	1.静态定位-position: static;即处于标准流
		标准流-就是所有元素按照本身的特征显示的区域,如,块状元素独占一行,行内块元素可以和行内元素一行显示。
		边偏移量:top: 30px;right: 30px;bottom: 30px;left: 30px;
		1.无法定位。2.不能使用边偏移量。3.没有脱离标准流。4.占据标准流原位置。
	2.相对定位-position: relative;
		1.相对于元素本身原占据位置进行定位。
		2.可以是使用边偏移量。
		3.原位置存在与标准流,没有脱离标准流。
		4.元素占据标准流本身原位置,同时,元素会显示在被定位的区域。
		5.定位子元素显示可以超出父元素的范围。
	3.绝对定位,position: absolute;
    	1.祖先元素有定位,则相对有定位的最近祖先定位元素进行定位,或无定位元素时,相对于浏览器可视区域进行定位。
    	2.可以是使用边偏移量。
    	3.已经脱离标准流,不在占据标准流位置。
    	4.不占据标准流元素本身原位置。
    	5.定位子元素可以超出父元素的显示范围。
    4.固定定位,position:fixed
    	1.相对浏览器进行定位。
    	2.可以是使用边偏移量。
    	3.已经脱离标准流。
    	4.不占据标准流元素本身原位置。
    	5.定位子元素可以超出父元素的显示范围
	5.层叠属性,z-index
		可以认为:
			即平面宽为x,向右为正方向
			平面高为y,向下为正方向
			我们看显示器的视线为z,我们所在方向为正方向。
		z-index:
		1.需要配合定位使用。
		2.随着取值增大,越靠近我们方向。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值