html - 对齐文本输入下方的标签

标签 html css textinput

我正在尝试将表单中的标签对齐到文本输入框下方。我从 here 改编了我的 CSS .

它在 IE 9 中显示完美,但我在使用 firefox、chrome 和其他浏览器时遇到问题。

这是它在 IE 中的样子:

IE

这是它在 firefox 中的样子:

enter image description here

它在 chrome 中看起来更糟糕,但我想先让它在 firefox 中运行。

主要关注点是:

  • 文本输入应在标签上方居中。
  • 冒号应与文本输入垂直对齐。
  • 下拉菜单应与文本输入垂直对齐。

这是我的标记:

<form action="" method="post">

    <label for="time">Time settings</label>

    <div class="description">
        Description goes here
    </div>

    <span><label for="time">Hour</label> <input type="text" id="time" name="time" maxlength="2" size="2"></span>
    <span>:</span>
    <span><label for="time-minute">Minute</label> <input type="text" id="time-minute" name="time-minute" maxlength="2" size="2"></span>
    <span>:</span>
    <span><label for="time-seconds">Seconds</label> <input type="text" id="time-seconds" name="time-seconds" maxlength="2" size="2"></span>

    <span>
        <select id="time-ampm" name="time-ampm">
            <option value="am">AM</option>
            <option value="pm">PM</option>
        </select>
    </span>
    </form>

这是 CSS 样式:

<style>
    span{
        display: inline-block;
    }

    span input { 
        display: block; 
        position: relative; 
        top: -3em; 
        text-align: center;
    } 

    span label { 
        display: block; 
        padding-top: 1.5em; 
        text-align: center;
    } 
</style>

我也在使用 HTML 4.01 严格文档类型。

这是 jsfiddle 中的实时表单:http://jsfiddle.net/VuShK/

谁能给我一些关于如何解决这个问题的建议?

解决方案: 感谢所有回复的人。

这是我的最终解决方案,文本输入居中。感谢 AVD 的帮助。

<style> 
    span{ 
        display: inline-block; 
        position: relative;
        top: -1em;
        text-align:center;
    } 

    span select input {  
        display: block;  
        position: relative;  
        top: -3em;  
    }  

    span label {  
        display: block;  
        position: relative;  
        top:2.7em; 
        text-align: center; 
    }  
</style> 

最佳答案

试试这个,

<style>
    span{
        display: inline-block;
    }

    span select input { 
        display: block; 
        position: relative; 
        top: -3em; 
    } 
    span input { text-align:center;}
    span label { 
        display: block; 
        position: relative; 
        top:3em;
        text-align: center;
    } 
</style>

关于html - 对齐文本输入下方的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7656704/

相关文章:

html - 跨浏览器图像

javascript - 简单的 jQuery 页面内容搜索显示不准确的结果

html - CSS下拉菜单小问题

html - 由于绝对元素,div 在带有 css 翻转动画的 div 之后无法正确 float

javascript - 如何使用 compass 在 ember-cli 中生成图像 Sprite ?

javascript - 将 Google Maps Place Form 集成到自动完成地址表单 javascript

html - 这个翻车是怎么回事?

css - iPad safari 浏览器中的输入文本框显示 times new roman 字体

jquery - 如何使用 jquery 选择 ID 文本框数组

c++ - SDL TextInput(使用新的 1.3 结构)