我有一个选择框,我想让它靠右对齐,但是我想保持选项下拉菜单向左对齐。就像这样:
<select>
<option>item</option>
</select>
以下是CSS代码:
select { direction: rtl; }
option { direction: ltr; }
但是设置选择标记的方向也会设置选择下拉菜单的方向。请参见这里
这是否可能?我知道作为替代方案,我可以使用js构建自定义选择功能,但如果可以的话,我想保持简单。
我有一个选择框,我想让它靠右对齐,但是我想保持选项下拉菜单向左对齐。就像这样:
<select>
<option>item</option>
</select>
以下是CSS代码:
select { direction: rtl; }
option { direction: ltr; }
但是设置选择标记的方向也会设置选择下拉菜单的方向。请参见这里
这是否可能?我知道作为替代方案,我可以使用js构建自定义选择功能,但如果可以的话,我想保持简单。
.1 {
direction: ltr;
}
然而,标识符不能以数字开头。因此,.1
是一个错误的选择器。你应该对它进行转义:.\000031
。
接下来,如果你使用...
.\000031 {
direction: ltr;
}
...它在Firefox 37上可以按照您的要求工作。
请注意,其他浏览器可能不允许您为select
元素设置样式。
#ex-1 {
direction: rtl;
width: 120px;
}
.\000031 {
direction: ltr;
}
<select id="ex-1">
<option class='1'>item one</option>
<option class='1'>item two</option>
<option class='1'>item three</option>
</select>
direction: rtl;
并不是文本对齐方式。或者更准确地说,文本对齐是方向的副作用。请注意,方向还会影响您设置中下拉箭头的位置。
传统浏览器不允许您样式化选择元素(在不同平台上,特别是移动设备上,它看起来差异很大)。
在Sciter中,您可以单独为<select>
部分设置样式,因为选择组件在那里是普通的DOM元素:
select > caption { text-align:right; }
select > button { ... }
select > popup > option { text-align:left; }
.1
是错误的选择器。您应该对其进行转义:.\000031
。 - Oriol