Css Chrome问题与<;选择>&书信电报;选项>;标签
我遇到了一个问题,我无法获得相同的CSS来在Firefox和Chrome上呈现相同的内容。在Firefox中,它们不是一个包含24个值的垂直选择框,而是彼此相邻的一行: 在Chrome中,它们显示为垂直的多重选择框 简短的3小时示例的完整代码:Css Chrome问题与<;选择>&书信电报;选项>;标签,css,html,google-chrome,Css,Html,Google Chrome,我遇到了一个问题,我无法获得相同的CSS来在Firefox和Chrome上呈现相同的内容。在Firefox中,它们不是一个包含24个值的垂直选择框,而是彼此相邻的一行: 在Chrome中,它们显示为垂直的多重选择框 简短的3小时示例的完整代码: <html> <head> <style type="text/css"> option { display: inline; } </style> </head
<html>
<head>
<style type="text/css">
option { display: inline; }
</style>
</head>
<body>
<form>
<select id="aryHours[]" class="select_hours" size="1" multiple="multiple" name="aryHours[]">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
</body>
</html>
选项{显示:内联;}
1.
2.
3.
在Chrome中,选项不显示为内嵌
有没有解释为什么这个代码不起作用,还有没有其他方法可以实现相同的布局?我认为您不应该(可以?)让
元素像这样内联。尝试使用复选框代替。比如:
内联选项
保险商实验室{
列表样式:无;溢出:隐藏;
}
ulli{
灯光风格:无;
浮动:左;
位置:相对位置;
}
ul li输入[type=“checkbox”]{
位置:绝对位置;
排名:0;
右:0;
底部:0;
左:0;
宽度:100%;
身高:100%;
不透明度:0;
}
ul li输入:选中+标签{
背景:蓝色;
}
-
选择1
-
选择2
-
选择3
Firefox的行为可能是由错误引起的
如前所述,尽量避免使用内联on选项谢谢您的回复。我不同意选项不能内联——在FireFox中试试我的代码。也就是说,这种方法很聪明,具有正确的基本功能。然而,我认为有几个重要的功能差异。由于这是一个多选,用户可以按住shift键并拖动所需的时间。在本例中,用户必须单独选择每个小时。在我的实际应用程序中,有24个选项,而不是3个。必须最多点击24次对用户来说是不友好的。@dsh-非常正确,但仅仅因为一个(甚至多个)浏览器允许您使用它,并不意味着您应该这样做。我不确定规范会说什么,但我认为Firefox允许它是可疑的-我的意思是
是更难设计和定制的控件之一。根据我的经验,任何超过字体和颜色的东西,你可能都在求助于黑客。我认为你是对的,显示属性从来没有用于选项。我使用您的代码来模拟我试图做的事情,并添加了一些javaScript使其更像一个复选框。谢谢。如果在iphone上观看,会发生什么?
<!DOCTYPE html>
<html>
<head>
<title>Inline Options</title>
<style>
ul {
list-style:none;overflow:hidden;
}
ul li {
lit-style:none;
float:left;
position:relative;
}
ul li input[type="checkbox"] {
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
width:100%;
height:100%;
opacity:0;
}
ul li input:checked + label {
background:blue;
}
</style>
</head>
<body>
<form action="#" method="get">
<ul>
<li>
<input type="checkbox" name="aryHours[]" id="checkbox1" />
<label for="checkbox1" class="">Option 1</label>
</li>
<li>
<input type="checkbox" name="aryHours[]" id="checkbox2" />
<label for="checkbox2" class="">Option 2</label>
</li>
<li>
<input type="checkbox" name="aryHours[]" id="checkbox3" />
<label for="checkbox3" class="">Option 3</label>
</li>
</ul>
</form>
</body>
</html>