首页 > web前端 > css教程 > 为什么带有 `width: 100%` 的 CSS 输入会超出其父级的边界?

为什么带有 `width: 100%` 的 CSS 输入会超出其父级的边界?

Barbara Streisand
发布: 2024-11-28 11:03:12
原创
326 人浏览过

Why Does a CSS Input with `width: 100%` Extend Beyond Its Parent's Bounds?

宽度为 100% 的 CSS 输入超出了父级的边界

为什么会发生这种情况?

在 CSS 中,宽度和高度属性设置内容框的大小。但是,内边距会添加到内容框外部,从而增加元素的整体大小。

当您将内边距设置为 width: 100% 时,其内边距会使其比其包含元素的 100% 宽。

解决方案

要防止 padding 影响元素的宽度或高度,请使用 box-sizing 属性设置为border-box:

box-sizing: border-box;
登录后复制

这使得宽度和高度属性包括内边距和边框,导致总宽度为 100%。

浏览器兼容性

box -sizing具有良好的浏览器兼容性(IE8)。不需要前缀。

替代方法:“继承”盒子大小

一些专家建议使用以下“继承”方法:

html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
登录后复制

这设置盒子大小为整个文档设置边框,并允许所有元素继承该边框设置。

演示

这是将边框框应用于输入元素的演示:

input[type=text],
input[type=password] {
  width: 100%;
  box-sizing: border-box;
}
登录后复制

以上是为什么带有 `width: 100%` 的 CSS 输入会超出其父级的边界?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板