input textarea 宽度设置100%不超出父元素

本文探讨了CSS中的盒模型问题,特别是在父元素有padding时,textarea元素100%宽度会超出边界。解决方案是使用box-sizing:border-box属性,使元素的边框和内填充计算在宽度之内。box-sizing属性有content-box和border-box两种模式,前者默认将边框和内填充计算在元素外部,后者则包含在内。通过调整box-sizing,可以更好地控制元素尺寸。
摘要由CSDN通过智能技术生成
<div style="padding-left: 10px;padding-right: 10px;">
	<textarea style="width:100%; height:220px;border: 1px solid #F2F2F2;"></textarea>
</div>

上述代码,父元素加了padding填充,<textarea> 的width再设置为100% 就会超出div的范围,

即使父元素不加padding填充,由于设置了<textarea>的border是1px, 所以左右边框会占据2px的宽度,也是会超出2px的,这时可以给textarea加如下样式解决:

textarea{
   box-sizing:border-box;
  -moz-box-sizing:border-box; /* Firefox */
  -webkit-box-sizing:border-box; /* Safari */
}

在盒子模型中,padding 、margin、border等的宽高是计算在盒子外的,

而 box-sizing : border-box 表示盒子的宽高计算在盒子内部,

box-sizing共有3种取值:

content-box  :padding 、margin、border等的宽高是计算在盒子外的

border-box:padding 、margin、border等的宽高是计算在盒子内部的

inherit:从父类继承box-sizing的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值