首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内联-块、内联、块

内联-块、内联、块
EN

Stack Overflow用户
提问于 2013-02-04 09:37:07
回答 2查看 310关注 0票数 1

我最近一直在搜索CSS,试图自学其中的诀窍。我遇到的另一个问题与display:属性直接相关。

我一直在尝试让我的“菜单按钮”的背景元素的宽度和它们包含的文本一样宽。这些按钮仅仅是<div>元素。

当我使用display:block;时,它们的所有宽度都与最长的项一样宽,而当我将其设置为display:inline;display:inline-block时,它们只是显示在同一行上,就像内联元素的工作方式一样。

现在,我想知道的是,我如何才能让它们看起来像一个列表,但仍然使背景颜色只与它所包含的文本一样长?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-04 11:05:21

如果你想保持格式,让它们在文本周围换行,并为每个项目留出一行,inline-block或inline不是一个选项。你必须使用浮点数。

你可以通过浮动你的项目"float:left;“并用clear:both将被浮动的元素强制放在其他行上,强制每个元素放在一个单独的行上。

代码语言:javascript
复制
.item{
float:left;
clear:both;
}

下面是一个例子:http://jsfiddle.net/Bn9Qx/

票数 1
EN

Stack Overflow用户

发布于 2013-02-04 09:41:07

使用如下的标记结构

代码语言:javascript
复制
<ul id="menu">
<!-- By the use of UL you can have the menu displayed as list -->
    <li><a href="#">Home</a></li>
    ...
</ul>

并在#menu li a上应用背景CSS。

代码语言:javascript
复制
#menu li a {
    /* a (anchor tag) is an inline tag, so the background 
    will span up to its content only */

    background: url("../src/to/img.jpg");
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14679357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档