非行内元素与行内元素转换的几种方法

本文介绍将HTML行内元素转换为块级元素的三种方法:使用display属性、浮动和定位。通过这些方法,可以方便地调整元素的布局与样式。

文章缘起于在编写代码时看到别人在将行内元素转换为块级元素时的一个简便方法:

为元素加定位position:absolute;

或者position:fixed;

之前没遇到过的情况,今天就来一块说说几种行内元素转化为块级元素的方法~

在这之前先回顾下何为块级元素何为行内元素:


简单来说块级元素和行内元素的区别:


大家都知道块级元素可以设置width,height,并且有独占一行的特征

而行内元素不能设置宽高,即使设置了也不起作用,并且行内元素是在一行文档流中排列开来。


常见块级元素:div , p , ul , li ,  o l, dl,  address,  fieldset,  hr, caption , table

        行内元素:span,   strong,   em,  br,  img ,  input,  label,  select,  textarea,  cite
说到行内元素又不得不扯两句替换与非替换元素:

行内替换元素:浏览器根据标签元素属性去判断相应的显示内容,例如:input
行内替换元素的width,height,margin的四个方向都正常显示
行内非替换元素:浏览器直接根据标签元素显示,例如:a,span
行内非替换元素的width,height不起作用,但可以利用line-height来控制高度

所以他们之间的转换终于来了~


方法一:as we all know妙用display


块级元素默认display:block;

行内非替换元素默认display:inline;

行内替换元素默认:display:inline-block;(行内块级元素)


因此通过display:block;与display:inline;轻松实现两类元素的转换~~~


方法二:浮动之float


当为行内元素设置float:left;  or  float:right;行内元素就会变为块级元素

反之,如果为有3个div同时为其设置浮动也可以将其以行内元素一行显示的形式表现出来


方法三:定位之position


最近遇到的为行内元素设置定位position:absolute就可以让其拥有块级元素的性质设置宽高等等

经过补充发现position:frixed也可以实现同样的效果


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值