【发布时间】:2014-06-04 21:06:16
【问题描述】:
编辑
好的,我想我找到了解决方案,在http://www.student.oulu.fi/~laurirai/www/css/middle/ 上找到
我使用了绝对定位技术。
我希望它可以在 IE 中工作,因为我现在无法检查...
CSS 已更新。
END EDIT
我在选择框中有一个语言选择器。
在框的左侧,我想要一个带有活动语言的标志。更改语言时,这将使用 javascript 进行更改。
唯一剩下的就是使用 CSS 将标志与选择框水平对齐 - 跨浏览器。
CSS:
.combo {
background: silver;
margin: 10px 0;
position:relative;
height: 50px;
}
.combo span {
position:absolute;top:0;bottom:0;margin:auto;
display: block; float: left;
width: 16px; height: 11px;
background:url('flags.png') no-repeat;
}
.combo select {
position:absolute;top:0;bottom:0;margin:auto;
margin-left: 25px;
}
.combo span.flag-es {background-position: -16px 0}
.combo span.flag-fr {background-position: -32px 0}
.combo span.flag-gb {background-position: 0 -11px}
.combo span.flag-it {background-position: -16px -11px}
.combo span.flag-nl {background-position: -32px -11px}
HTML:
<div class="combo">
<span class="flag-it"></span>
<select>
<option value="Italiano" selected>Italiano</option>
<option value="English">English</option>
<option value="Français">Français</option>
<option value="Español">Español</option>
<option value="Nederlands">Nederlands</option>
</select>
</div>
【问题讨论】:
-
你有
flags.png的链接吗? 编辑:实际上,可能不需要它。 -
这看起来怎么样? jsfiddle.net/Aarilight/c9V92 当然,红色将被您的版本中的标志替换。
-
呃,你只是根据什么设置了一些边距?选择框在任何浏览器中的呈现方式都不同,因此您不能只设置 margin-top。