Css 停止超链接继承div';宽度是多少?

Css 停止超链接继承div';宽度是多少?,css,html,hyperlink,Css,Html,Hyperlink,嗨,我在一个div中有一些超链接,带有display:block。问题是单击时的超链接长度等于div的宽度。如何使超链接的单击长度仅等于超链接的文本,而不指定每个链接的宽度? 你的意思是这样的吗: <a href="example.com" style="text-decoration: none;">Foo</a> 宽度:自动 或尝试 显示:内联 关于链接 它不应该获取divs宽度,然后将链接样式设置为显示:inline block;(在旧版IE6中不受支持)或使用

嗨,我在一个div中有一些超链接,带有display:block。问题是单击时的超链接长度等于div的宽度。如何使超链接的单击长度仅等于超链接的文本,而不指定每个链接的宽度?
你的意思是这样的吗:

<a href="example.com" style="text-decoration: none;">Foo</a>

宽度:自动

或尝试 显示:内联

关于链接


它不应该获取divs宽度,然后将链接样式设置为显示:inline block;(在旧版IE6中不受支持)或使用浮动来浮动它:左;或浮动:对

显示:块是使链接元素扩展到其父宽度的原因。默认情况下,链接元素是内嵌元素,而不是块元素

只要删除该声明,您的问题就会消失

使用

#链接一个{清除:左;浮动:左}

浮动
将允许调整链接的大小,而
清除
将防止链接位于同一行上

根据您的设计,您可能需要将
clear:left
添加到
#links
容器中

编辑

你问过我一个小教程:

有两种类型的元素,inline和block。内联的显示在一行中,没有中断。块元素占据整行并移动到下一行

内联元素不能设置其宽度或高度样式。积木可以

是一个内联元素。通过将其显示设置为block,可以告诉它每次生成一条新行

float
提供了元素的内联行为,因此它们彼此相邻,并流到下一行<代码>浮动
还允许您设置元素的宽度/高度样式。这是两者的混合

“清除”属性停止内联浮动并返回到正常块行为(每次都有新行)

您不需要同时使用
display:block
float:


另一个解决方案可能涉及
display:inline block
,但这在一些浏览器中不受支持,因此不鼓励(尽管我发现它非常方便)。

您的链接需要
display:block
?Emmett我试图避免在标记中放置
标记,使每个链接都位于新行上?你有其他选择吗?没有,那是去掉下划线。他想要的是链接的点击框是链接文本的宽度。谢菲尔德先生,请检查我的JSFIDLE链接。当你点击并按住链接时,你会看到宽度设置为div的宽度。谢谢Olemarius先生。你知道一种方法可以让每个超链接跟随一个新行,而不用在标记中使用display:block和
标记吗?我想你可以使用clear:both;或清除:左/右(取决于要清除元素的哪一侧)。。不过,不能100%确定它是否能在浮动元素上工作。嗨,FreekOne,我们不能在不使用
标签的情况下让每个链接都换一行吗?@Damien:Steve击败了我:)不确定使用
标签有什么问题……有人告诉我它看起来不专业,所以我尝试使用CSS,但这是最简单的方法。谢谢你的回复。@Damien:很高兴能帮上忙。我猜是同一个人使用
DIV
元素来模拟表格数据,因为使用表格也是“不专业的”。建议:如果它是有效的标记并且完成了任务,就使用它。这会让你的生活变得更轻松;)谢谢史蒂夫,这解决了我的问题。“清除”属性是否是“显示:块”的备选属性?它应该做什么。对不起,我是CSS新手。@damien,如果你说clear:left或clear:both,任何被左浮动的项目都将被停止。例如,如果你有三个div float:left,它们将并排出现,然后如果你说clear:left,下一个div将出现在下一行。如果你说清除:两者都将清除左右浮动。谢谢州长。现在我明白了=)