行内元素 块元素 行内块元素 及其属性

1、 块级元素独占一行 

       行内元素可以在一行显示,但是不能设置上下的padding和margin值。

块级元素可以设置 width, height属性,行内元素设置width,  height无效

块级元素可以设置margin 和 padding.  

行内元素的水平方向的padding-left,padding-right,margin-left,margin-right 都产生边距效果,

但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果。

(即行内元素水平方向有效,竖直方向无效)

2、块级元素转行内元素:display:inline;

       行内元素转块级元素:display:block;

3、常见的块级元素、行内元素与行内块元素   

       块级元素 :div、h系列、li、dt、dd、p

       行内元素  :span、u、a、em、biuem

      行内块元素:input 、img 、button 、texterea 、label。


浮动以后一定要给父元素添加overflow


当li设置float:left;的时候,它的父元素就不会随着li的增多自适应高度(主要是FF等浏览器),所以,如果父元素有背景的话是不会随着li的高度增加而出现的。
这个时候可以给父元素加1个属性,overflow:hidden;

为什么li在浮动(float)时,给父元素加1个属性,overflow:hidden;父标签就能自适应高度



 

解决float浮动带来的父元素高度没有的问题---清除浮动




float的特性 :

1:使元素block块级化;


2:破坏性造成的紧密排列特性。


基于以上的特性,使得我们通常把浮动用来布局,带来的问题是,容易出问题,重用性不行,ie6-的版本下很多问题,因为它是要求固定的宽度,宽度计算错误就会带来整个布局的错乱。
float属性出现的初衷是为了让文字环绕图片实现图文混排的效果和应用于流体布局,所以float浮动带来的父元素高度没有的问题并不是我们说的是一个  BUG,这本身就是float的特性。


以下是解决float浮动带来的父元素高度没有的问题

测试为IE5+
1:在父元素的里面浮动元素的后面添加一个样式为clear:both;的元素;缺点是添加了无用的标签元素;
.clear{ clear:both; height:0px; font-size: 1px; line-height: 0px;overflow:hidden; }/* 清除浮动*/


2:给父元素添加伪类并给样式(.fix应用在包含浮动子元素的父元素上)
.fix:after{content:"";display: block;height: 0;overflow: hidden;clear: both;}
.fix{*zoom:1;}  //兼容ie7以下
或者
.fix:after{content:"";display: table;clear: both;}
.fix{*zoom:1;}


3:直接给父元素添加一句样式:
父元素{overflow: hidden;}


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值