IE9 浮动问题

发布于 2022-09-03 08:38:01 字数 1477 浏览 30 评论 0

很奇葩的问题,元素在IE,firefox中换行显示,但在chrome中正常。
chrome中效果图

clipboard.png

firefox和IE效果图

clipboard.png

<div class="login">
        <h2>登&nbsp;录&nbsp;系&nbsp;统</h2>
        <form action="">
            <div>
                <label for="name">用户名</label>
                <input type="text" name="name" autofocus>
            </div>
            <div>
                <label for="password">密&nbsp;&nbsp;&nbsp;码</label>
                <input type="password" name="psw">
            </div>
            <div>
                <label for="code">验证码</label>
                <input type="text" name="code" id="code">
            </div>
            <button id="submit">登录</button>
        </form>
    </div>

css样式如下

.login div {
    border-bottom: 1px solid #FFF;
    width: 400px;
    margin: 40px auto;
}

.login label {
    width: 48px;
    float: left;
    clear: left;    
}

.login input {
    outline: none;
    background-color: transparent;
    margin-left: 50px;
    width: 400 - 48 - 50px;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

痴骨ら 2022-09-10 08:38:01

服了你。你在三个样式里都添加border:1px solid #00ff00看看。

江挽川 2022-09-10 08:38:01

发现几个问题,你可以给label加个背景色看看,密码两个字中间空格太多了,导致宽度超过48px,然后label和input想要在一行可以都使用float:left,此时就要去掉input的margin-left:50px了。因为这个会导致label和input中间产生50px(可能你的意思是input距离最左边50px)

只想待在家 2022-09-10 08:38:01

感谢各位的解答。发现是浏览器默认样式的原因(chrome的input默认没有水平padding,而firefox和IE默认有)。
由于声望不够,连点赞都不行。[无奈]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文