text-align:在<select>或<option>上右键

Ben*_*enM 72 html css webkit

有没有人知道是否可以将文本对齐到WebKit中某个<select>或更具体<option>元素的右侧.这不需要是包含IE的跨浏览器解决方案,但如果可能的话应该是纯CSS.

我试过了两个:

select { text-align: right }并且option { text-align: right },似乎在WebKit(Chrome,Safari或Mobile Safari)中都没有.

任何帮助感激不尽!

Fra*_*ent 70

您可以尝试使用"dir"属性,但我不确定是否会产生所需的效果?

<select dir="rtl">
    <option>Foo</option>    
    <option>bar</option>
    <option>to the right</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在这里演示:http://jsfiddle.net/fparent/YSJU7/

  • 恕我直言,这有两个原因.这在语义上是错误的.2.在Chrome 30中,`dir ="rtl"`将箭头指示向下移动到左侧. (26认同)
  • 这并不适用于所有情况:<option> 23"x 42"</ option>产生"x 42"23.rtl还会更改屏幕阅读器中的读取方式. (25认同)
  • 它是不是看起来像一个肮脏的黑客只是为了给它正确的外观而不考虑在某些特殊情况下如何处理它? (9认同)
  • 这是一个令人难以置信的想法.RTL适用于以从右到左的顺序绘制字符的语言,如果该内容是用LTR语言编写的,那么非常会搞砸您在此类选项中添加的内容.例如,"2017年8月10日"之类的日期将绘制为"2017年8月10日".您无法控制它对文本的作用.不要使用它. (9认同)
  • 实际上,那是完美的.无论如何我使用`appearance:none;`属性,所以下拉列表的位置无关紧要.谢谢! (2认同)
  • RTL - 是文本方向(作为阿拉伯语文本的示例)http://jsfiddle.net/iegik/YSJU7/170/ (2认同)

Lai*_*acy 59

以下CSS将右对齐箭头和选项:

select { text-align-last: right; }
option { direction: rtl; }
Run Code Online (Sandbox Code Playgroud)
<!-- example usage -->
Choose one: <select>
  <option>The first option</option>
  <option>A second, fairly long option</option>
  <option>Last</option>
</select>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢@Laiacy - 太棒了!我希望你能获得更多的选票. (2认同)
  • **遗憾的是,这不起作用。** `&lt;option&gt;.1&lt;/option&gt;&lt;option&gt;1&lt;/option&gt;&lt;option&gt;10&lt;/option&gt;` 给出右对齐的 `1.` 和 `1` 和 ` 10`(点反转)http://jsfiddle.net/c2gka8o0/ (2认同)
  • 如果您删除“direction: rtl;”位,我会对此投赞成票。这是一个 hack,绝对不应该使用。 (2认同)
  • 警告,“direction: rtl;”告诉 CSS 这是一种从右到左的语言(如希伯来语)。这将我的文本从“上午 11 点”反转为“上午 11 点”。 (2认同)

Mar*_*ger 30

对我来说最好的解决方案是制作

select {
    direction: rtl;
}
Run Code Online (Sandbox Code Playgroud)

然后

option {
    direction: ltr;
}
Run Code Online (Sandbox Code Playgroud)

再次.因此,在屏幕阅读器中读取文本的方式没有变化,也没有格式问题.

  • 但是,在 Firefox 上,当前(选定的)值显示为左侧的“AM”(“AM 9:30”)。 (2认同)

nhe*_*ich 24

我想你想要的是:

select {
  direction: rtl;
}
Run Code Online (Sandbox Code Playgroud)

在这里摆弄:http://jsfiddle.net/neilheinrich/XS3yQ/

  • 很酷,但箭头则向左移动.如果我们希望文本和选择箭头对齐,该怎么办? (9认同)