行内元素如a设置为浮动后,会自动成为块级元素显示吗

新手上路,请多包涵
<style>
.jf-header-box {
    width: 1100px;
    height: 50px;
    margin: 0 auto;
    background-color: #3a5795;
}
.jf-no-login-box {
    float: right;
}
.jf-login-user-img {
    float: left;
    margin: 6px 20px 0 0;
}
.jf-login-user-img img {
    width: 40px;
    height: 40px;
}
</style>
<div class="jf-header-box">
    <div class="jf-no-login-box">
        <a href="#" class="jf-login-user-img">
            <img src="http://jfinal.com/upload/avatar/18/93704.jpg">
        </a>
    </div>
</div>

这里a是一个行内元素,给它设置了浮动float: leftmargin显示有效果。
图片描述

如果注释float: left,边距效果就没有了。
图片描述

此时,把<a href="#" class="jf-login-user-img"><img src=""></a>改为<div class="jf-login-user-img"><a href="#"><img src=""></a></div>margin又显示有效果了。

是不是给行内元素设置了浮动以后,它自动就成了块级元素。

阅读 5.2k
1 个回答

给a标签加float会变成行内块元素,并不是完全的块元素

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题