当我减小浏览器窗口的宽度时,尽管执行以下命令,select
内的元素的fieldset
大小仍不会减小max-width
:
<fieldset style="background:blue;">
<select name=countries style="max-width:90%;">
<option value=gs>South Georgia and the South Sandwich Islands</option>
</select>
</fieldset>
但是,这完全可以在外部fieldset
元素中使用。如何使select
元素缩小到max-width
字段集中的(百分比)?
注意: 我已经测试了Firefox 12.0和Google Chrome。我现在确定这是一个跨浏览器的问题。
说明性
:请参考此示例,并注意a中一个select
元素fieldset
与a中另一个元素的行为之间的区别fieldset
。我要实现的是使select
元素内部的fieldset
行为类似于fieldset
元素外部的行为。
这是不可能的,至少如果您仅使用它max- width
(请参阅下面的解决方案)。<select>
的样式总是[有点棘手,因为它们是交互式的内容元素_和_
表单控件元素。因此,他们必须遵循一些隐性规则。首先,使用时,选择范围不能小于选择范围之一max-width
。考虑以下情形:
+------------------------------------+-+
|Another entry |v|
+------------------------------------+-+
|Another entry |
|Select box, select anything, please |
|Another entry |
|Another entry |
+------------------------------------+-+
假设您要压缩<select>
-会发生什么?选择的宽度将变小,直到…
+------------------------------------+-+ +-----------------------------------+-+
|Another entry |v| |Another entry |v|
+------------------------------------+-+ +-----------------------------------+-+
|Another entry | |Another entry |
|Select box, select anything, please |-->|Select box, select anything, please |
|Another entry | |Another entry |
|Another entry | |Another entry |
+------------------------------------+-+ +-----------------------------------+-+
|
+---------------------------------------+
v
+----------------------------------+-+ +---------------------------------+-+
|Another entry |v| |Another entry |v|
+----------------------------------+-+ +---------------------------------+-+
|Another entry | |Another entry |
|Select box, select anything, please |-->|Select box, select anything, please|
|Another entry | |Another entry |
|Another entry | |Another entry |
+----------------------------------+-+ +---------------------------------+-+
然后,该过程将停止,因为<option>
不再适合。请记住,您无法样式化<option>s
或至少只有一点点(颜色,字体变化),而不会出现一些讨厌的怪癖。但是,如果正确准备了选择框,则可以更改边框:
在上使用一个width
值select
。是的,很简单:
<fieldset style="background:blue;">
<select name=countries style="width:100%;max-width:90%;">
<option value=gs>South Georgia and the South Sandwich Islands</option>
</select>
</fieldset>
为什么这样做?因为option
现在会正确地识别的width
,select
而不会强迫select
拥有隐式的min- width
。请注意,这width
是荒谬的,因为它比还要多max-width
。max- width
在这种情况下,大多数浏览器都不会在意并使用,因为它提供了上限。
(适用于FF12,Chrome 18,IE9,Opera11.60)
基于包装的解决方案,这不会更改原始宽度:
<fieldset style="background:blue;">
<div style="display:inline-block;max-width:90%;"> <!-- additional wrapper -->
<select name=countries style="width:100%">
<option value=gs>South Georgia and the South Sandwich Islands</option>
</select>
</div>
</fieldset>
(在上面列出的浏览器中有效)
问题内容: Test A long string blah blah blah 上面的方法不起作用。如何使用百分比设置表格单元格的最大宽度? 问题答案: 根据CSS 2.1规范中max-width的定义,“’min-width’和’max-width’对表,内联表,表单元格,表列和列组的影响是不确定的。” 因此,您不能直接在td元素上设置最大宽度。 如果只希望第二列最多占用67%,则可以将宽度(对
问题内容: 我有这个设置: HTML : CSS : 通过此设置,它可以在iPhone上运行,但不能在浏览器中运行。 是因为我已经在meta中,也许已经在? 问题答案: 我发现最好的方法是为较旧的浏览器编写默认CSS,因为较旧的浏览器包括5.5、6、7和8。无法读取@media。当我使用@media时,我会这样使用: 但是,您可以使用@media进行任何操作,这只是为所有浏览器构建样式时最适合我的
问题内容: 小提琴说明了一切。我想要一个仅限CSS的解决方案,将表的宽度限制为div的宽度。长字符串应被打断(但是您可以看到它不是),这将导致表溢出。 我不想使用任何像素宽度。这应该是完全流畅的。 问题答案: 大家看看
问题内容: 使用jQuery,您将如何查找具有特定样式(例如)的元素,而不管它是内联样式还是CSS文件中定义的样式? 问题答案: 使用过滤功能: 将“ *”替换为适合您的情况的选择器。
问题内容: 我已经具有Docker和EC2的经验。但是我是ECS的新手。有人可以帮助我了解这两个参数的实际作用,区别和用法。 官方文件说: 该 最低百分之健康 表示在部署期间必须保持在RUNNING状态的服务任务数的下限,以所需任务数的百分比(四舍五入到最接近的整数)的百分比表示。使用此参数,可以在不使用其他群集容量的情况下进行部署。例如,如果您的服务具有所需的四个任务数量,并且最小健康百分比为5
问题内容: 我有以下代码 我想获得输出: 实际发生的情况: 问题答案: