title的现height为32我理解了,但原height是否是34?

来源:10-1 编程挑战

风早君418

2016-06-28 22:30

原问题有更改:

http://img.mukewang.com/5773a56600012afe07650471.jpg

#title li{

        display:inline-block;

        text-align:center;

        width:60px;

        line-height:30px;

        padding:0;

        border:1px solid #999999;

        border-bottom:none;

        margin-left:5px;

    }

    #title li.on{

        border-top:2px solid #8B4513;

        border-bottom:2px solid #FFFFFF;

    }

    #title{

        border-bottom:2px solid #8B4513;

        height:32px;

    }

为了显示的清楚,原题中的白色被我换成了蓝色。

如图C所示,为了达到题目中蓝色线条部分空白的效果,title的height被设置为32,height=line-height30+border-top2

但如果删除height=32的条件,就会变成如图B所示,但是我不知道如图B所示的height是否是34?

写回答 关注

1回答

  • 洛伦丹夏天
    2016-06-29 17:35:59

    图A并不是36,应该是35。

    照你说,如果删除height = 32的条件,那么title的高度就由里面的元素的高度决定,

    也就是li的高度+li的边框+加上title的边框。

    li的高度为:30;li的边框为:1+1=2;title的边框(border-bottom:2px):2;

    这样加起来是34没错是吧?

    但是你有一个li.on的border-top啊,那个可是两像素啊,所以应该是35。

    所以在没设置title的高度的前提下,是达不到题目中的效果的。

    多去了解下HTML的盒模型box-sizing。

    http://img.mukewang.com/577396650001000e03040059.jpg


    你看,中间那条缝隙,明显没有下面的粗呢。

    洛伦丹夏天 回复风早君418

    - -! 谁说不算的了啊,你又没定义box-sizing:border-box!!!!你自己用chrome看一下就知道是多少了啊!

    2016-06-30 14:05:38

    共 3 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题