元素分类

2018-11-15  本文已影响12人  iOS_July
元素区别.png

一、块级元素block element

什么是块级元素?在html中<div><p><h1><form><ul><li>就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点:a{display:block;}

块级元素特点

二、行内元素inline element

行内元素特点

三、块级元素和行内元素的相互转换

我们可以通过display属性将块级元素和行内元素进行相互转换。 display即“显示模式”

块级元素可转换为行内元素:
EX--->div

display: inline;

那么,这个标签将立即变为行内元素,此时它和一个span无异。inline就是“行内”。也就是说:

此时这个div不能设置宽度、高度

此时这个div可以和别人并排了。

行内元素转换为块级元素:
EX--->span

display: block;

此时这个span能够设置宽度、高度

此时这个span必须霸占一行了,别人无法和他并排

如果不设置宽度,将撑满

四、使一个元素脱离标准的办法:

4.1 浮动
给box1设置了float: left,于是,box1就脱离了标准流
所以现在box2就是标准文档流中的第一个盒子,所以就渲染在了页面的左上方。
这就达到了浮动的效果。
此时,两个元素并排了,并且两个元素都能够设置宽度、高度

加高法

如果一个元素要浮动,那么它的祖先元素一定要有高度。
有高度的盒子,才能关住浮动。

clear:both;

clear就是清除,both指的是左浮动、右浮动都要清除。意思就是:清除别人对我的影响。

这种方法有一个非常大的、致命的问题,它所在的标签,margin属性失效了。

margin失效的本质原因是:高度为零。

隔墙法

可以在这两个div中间用一个新的div隔开,然后给这个新的div设置clear: both;属性。

既然这个新的div无法设置margin属性,我们可以给它设置height,以达到margin的效果(曲线救国)。

这便是隔墙法

内墙法


overflow:hidden;:

这个属性的本意,就是将所有溢出盒子的内容,隐藏掉。但是,我们发现这个东西能够用于浮动的清除。

我们知道,一个父亲,不能被自己浮动的儿子撑出高度。

但是,如果这个父亲加上了overflow:hidden;那么这个父亲就能够被浮动的儿子撑出高度了。

这个现象,不能解释,就是浏览器的偏方。

并且,overflow:hidden;能够让margin生效。
上一篇下一篇

猜你喜欢

热点阅读