锚(<a>) dimensions with only inline-block spans inside</a>

时间:2011-04-07 16:26:11

标签: layout anchor html css

有人可以解释一下这小块HTML的内容吗?

http://jsbin.com/akome5

在大多数当前浏览器(FF4,Chrome10,IE9,IE8,Opera 11)上,元素的布局如下所示:

enter image description here

咩?我不明白为什么?! 为什么高度和宽度不如可见框(橙色+红色空格)大?

添加“display:inline-block;”对元素似乎并没有真正解决它。 我该如何解决?

THX !!

4 个答案:

答案 0 :(得分:1)

尝试添加以下样式。

a.button {
    display: block;
    float: left;
    overflow: auto;
}
a.button span {
    display: block;
    float: left;
}

答案 1 :(得分:1)

答案 2 :(得分:0)

我提出了一种不涉及跨度的不同方法

HTML:

<a class="button2" href="#">Text Text Text</a>

的CSS:

/* Button 2 */
.button2 {
    background-color:red;
    border:solid 10px orange;
    border-top:0;
    border-bottom:0;
    display:inline-block;
    color:#fff;
    font-family: Arial,Helvetica,sans-serif;
    font-size:11px;
    font-weight:bold;
    line-height:30px;
    text-decoration:none;
    padding:0 3px;
}

old (top) new (bottom)

旧(上)新(下)

http://jsfiddle.net/pxfunc/vr7gJ/

答案 3 :(得分:0)

有关我无法浮动的信息:左,这是整个CSS:

a.button{
    display: inline-block; /* <- added */
    text-decoration: none;
}

a.button span{
    display: inline-block;
    font-family: Arial,Helvetica,sans-serif;
    font-size: 11px;
    font-weight: bold;
    height: 30px;
    line-height: 30px; /* <- added */
    text-decoration: none;
}

a.button .left, a.button .right{
    background-color: orange;
    width: 10px;
}

a.button .text{
    background-color: red;
    color: white;
}

line-height 指令是关键。