如何将CSS内容放在选择框中并旋转它?

时间:2011-09-21 08:40:49

标签: css css3

我想把CSS生成的内容放在选择框中,然后用CSS旋转它。当我尝试时,它会旋转选择框和生成的内容,但生成的内容最终会在选择框之外。

我该如何解决?

Jsfiddle DEMO

<div class="styled-select">
    <select>
        <option>Here is the first option</option>
        <option>The second option</option>
    </select>
</div>
.styled-select select {   
   padding: 5px;
   border: 1px solid #ccc;
   font-size: 16px;
   height: 34px;
   -webkit-appearance: none;
   margin: 100px;

/*following here

    content: "»";

    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    */
}
.styled-select select:after {
    content: "»";
    display: block;
    writing-mode: tb-rl;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    position: absolute;
    bottom: 9px;
    font-size: 24px;

    /* Internet Explorer */
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

1 个答案:

答案 0 :(得分:1)

我认为您不能将生成的内容放在 <select>元素中。表单控件通常由操作系统而不是浏览器呈现,或者至少不以与其他HTML元素相同的方式呈现(因为它们比CSS本身更复杂)。

如果你想要大量定制的<select>元素,你将不得不自己用其他HTML元素和JavaScript构建它们 - 但我不会建议,因为这是很多工作,而你将需要应用正确的ARIA属性,使其在理论上可以访问。

你可能不得不接受我们所讨论的相同<select>元素。