伪元素清除浮动

29. 清除浮动元素

问题描述:一个父元素div,两个子Div,父不设宽高,会被子元素撑起高度。
当给两子元素设置float(浮动,不占文档流的位置)后,父元素没有高度了————即高度塌陷

形如 :

<div class="clearfix">
    <div id="d1">1</div>      
    <div id="d2">2</div>
</div>
css样式:.clearfix{
	background: pink;
   }
	#d1{
		width: 200px;
		height: 200px;
		background: green;
		float: left;
	}
	#d2{
		width: 100px;
		height: 100px;
		background: red;
		float: left;
	}

给d1、d2设置了浮动float:left,若不给父元素设置宽高,此时父元素的高为0,【俗称高度塌陷】,因为float的元素脱离了文档流,即在文档流中不占据位置,它是飘浮起来的),就没有元素撑起父元素的高度此时就会效果如下:

我们发现父元素的宽为0,设置的背景pink也没显示出来【这就是浮动带来的影响】伪元素清除浮动

解决办法:

①、伪元素清除

给clearflex设置属性

.clearfix:after{	
	display: block;  /* 使其成为块级元素后*/
	content: "";    /*为伪元素加入空内容,以便伪元素中不会有内容显示在页面中*/
	height: 0;       /* 为使伪元素不影响页面布局,将伪元素高度设置为0*/
	clear: both;     /* 清除浮动*/
	}
	.clearfix { *zoom:1; }  /*兼容IE6、IE7 */

清除浮动后,原来给父元素设置的背景也显示出来了,高也被撑起来了
伪元素清除浮动

伪元素清除浮动

②、或者给父元素添加:

.clearfix{ overflow:hidden/auto }

虽然能实现父元素扩展包含浮动.
但注意:overflow属性不是为了清除浮动而定义的,要小心不要覆盖住内容或者触发了不需要的滚动条。

③、或者 在需要清除浮动的元素后面添加一个空的div

因为它没有浏览器默认样式,没有特殊功能,而且一般不会被css样式化,所以这种方法也是比较常见和常用的方法。

clear:both

30.居中浮动

1、给父级元素添加flex属性布局,水平垂直 居中 【超实用,强推】

 display: flex; 	
  justify-content: center; 	   水平居中
 align-items:middle;           垂直方向居中

2、父元素定宽高,只能垂直方向居中浮动元素 。给父元素加属性
display: table-cell;
text-align: center;
vertical-align:middle; /垂直居中浮动元素/



26. meta标签有哪些属性 meta标签有哪些属性

提供有关页面的元信息。 元数据总是以:名称/值被传递

meta标签两个属性,http-equiv属性和name属性(均和content一起用)

name属性主要用于描述网页 , 对应的属性值为content[具体描述便于搜索引擎抓取]
<'meta name=“参数” content=“具体的描述”>。
name参数:author description keywords generator revised others

http-equiv属性: 把 content 属性连接到一个 HTTP 头部。
<·meta http-equiv=“参数” content=“具体的描述”>

content-type 【设定网页字符集,charset=utf-8】 expires 【到期时间】
refresh 【自动刷新并指向某页面】 set-cookie【设置cookie】

27. 盒子模型

28. 行内元素、块级元素定义,包含哪些元素

可以给块元素设置宽高,但行内元素不行(下图设同样的宽高,出来的)
伪元素清除浮动