锚定 () 尺寸,内部仅包含内联块跨度

发布于 2024-10-30 17:50:10 字数 377 浏览 0 评论 0原文

有人可以解释一下这一小段 HTML 发生了什么吗?

http://jsbin.com/akome5

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

在此处输入图像描述

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

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

谢谢!!

Could someone explain me what's going on with this small piece of HTML ?

http://jsbin.com/akome5

On most of current browsers (FF4, Chrome10, IE9, IE8, Opera 11), the layout of the element looks like this :

enter image description here

Meh?! I don't understand why ?!
Why aren't the height and width as big as the visible box (orange+red spaces) ?

Adding a "display:inline-block;" to the element doesn't seems to really fix it.
How can I fix it ?

Thx!!

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

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

发布评论

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

评论(4

谁的新欢旧爱 2024-11-06 17:50:11

尝试添加以下样式。

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

Try adding the following styles.

a.button {
    display: block;
    float: left;
    overflow: auto;
}
a.button span {
    display: block;
    float: left;
}
煮酒 2024-11-06 17:50:11

我建议采用一种不涉及跨度

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)

old (top)新(底部)

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

I'd propose a different approach involving no spans

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)

old (top) new (bottom)

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

甲如呢乙后呢 2024-11-06 17:50:11

有关信息,我设法在没有 float:left 的情况下做到这一点,这是整个 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 指令是关键。

For information I manage to do it without float:left, here is the whole 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;
}

The line-height instruction was the key.

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