作者:刘美娥94662 | 2023-08-29 16:22
让我说我有一个文本框,我想填补整行.我会给它一个这样的风格:
input.wide {display:block; width: 100%}
这会导致问题,因为宽度基于文本框的内容.文本框默认具有边距,边框和填充,这使得100%宽度的文本框大于其容器.
例如,在右边:
有没有办法让文本框填充其容器的宽度而不扩展到它之外?
这是一些示例HTML来显示我的意思:
Untitled Page
如果运行此操作,您可以通过查看"普通"文本框看到"宽"文本框伸出容器."普通"文本框浮动到容器的实际边缘.我正在尝试使"宽"文本框填充其容器,而不像"普通"文本框那样扩展到边缘之外.
1> bobince..:
有没有办法让文本框填充其容器的宽度而不扩展到它之外?
是的:通过使用CSS3属性'box-sizing:border-box',您可以重新定义'width'意味着包含外部填充和边框.
不幸的是因为它是CSS3,支持不是很成熟,并且由于规范过程还没有完成,它同时在浏览器中有不同的临时名称.所以:
input.wide {
width: 100%;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
老式的替代方案就是在封闭的
或
元素上放置一些'padding-right',等于你认为浏览器会在'px'中多少额外的左右填充/边框给出输入.(对于IE <8,通常为6px.)
我认为移动设备将在计算机之前提供完整的HTML5支持. @Kindred:如果你在其中包含IEMobile和Blackberry,那绝对不是. +1实际上保存了我头发的剩余部分! 我怎么花这么长时间才找到这个很棒的奶油酱??? 请问我们能接受这个答案吗?
2> Hilbrand Bou..:
你可以做的是删除以下内容的默认"额外" input :
input.wide {display:block; width:100%;padding:0;border-width:0}
这将保持input 其容器内部.现在,如果你想要做的边界,包裹input 在一个div 与所设定的边界div (这样你可以删除display:block 从input 太).就像是:
编辑:
另一种选择是,而不是从中删除样式input ,在包装中补偿它div :
input.wide {width:100%;}
这会在不同的浏览器中给你一些不同的结果,但它们不会与容器重叠.div中的值取决于边框的大小以及边框input 之间所需的空间大小input .
这是一个非常有创意的解决方案 我唯一的问题是,除非我使用JavaScript来更改包装div的边框,否则我无法在文本框中定义轮廓.
3> Jack Trowbri..:
这解决了我的问题!
无需外部div.只需将其应用于您指定的文本框即可.
box-sizing: border-box;
使用此属性"宽度和高度属性(和最小/最大属性)包括内容,填充和边框,但不包括边距"
请参阅w3schools的财产说明.
希望这有助于某人!
4> Tobias Cohen..:
刚刚遇到这个问题,我能找到的唯一解决方案在我的所有测试浏览器(IE6,IE7,Firefox)中都有以下几点:
将输入字段包装在两个单独的DIV中
将外部DIV设置为宽度100%,这可以防止我们的容器溢出文档
将填充放在精确量的内部DIV中以补偿输入的水平溢出.
在输入上设置自定义填充,使其溢出的内容与内部DIV中允许的量相同
代码:
这里,输入元素的总水平溢出是6px - 2x(填充+边框) - 所以我们为内部DIV设置了一个填充右边6px.
5> chikamichi..:
实际上,box-sizing支持非常好:http://caniuse.com/#search=box-sizing
因此,除非您针对IE7,否则您应该能够使用此属性解决此类问题.像sass或更少的层使得更容易处理像这样的前缀规则,顺便说一句.
推荐阅读
-
如何解决《退出并返回QML的返回码》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《使用RAML处理Mule流中的多种安全方案的最佳方法是什么?》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《laravelquerybuilder如何在其中使用函数》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何使用自动增量字符创建自定义列》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《在擦除-删除习语中使用UnaryPredicate的否定》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《使用select元素从datatable导出数据会从select元素导出每个选项》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《理解"catproc/net/udp"》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《使用TypeConverter将字符串转换为字符串数组》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何从PHP中的html页面中删除H2和H3标签?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《转移具有应用内订阅的iOS应用》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《使用jQuery显示JSON数据》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《如何每1分钟在后台运行服务》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何用h5py区分HDF5数据集和组?》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《为什么有std::not1()和std::not2()而不是一个重载的std::not_()?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何检查动态数组是否为空?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《为什么要使用CDN(内容分发网络)?》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《RESTAPI-ALPSUI(SwaggerUI之类)》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《ImportError:无法导入名称_UNPACK_INT》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Xamarin表单-Webview没有显示出来》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Symfony3:在Windows中开发,在Linux中部署.目录分隔》经验,为你挑选了1个好方法。 ...
[详细]
|