我正在编写以下HTML
标记:
<span> Some Text
<div id="ch">татата</div>
</span>
和样式:
span{
border: 1px solid black;
text-align:center;
width: 300px;
height: 300px;
background: aqua;
}
#ch{
width:100px;
height:100px
background: yellow;
}
height
属性未应用于div
内的span
元素,但宽度已应用?span
的右边框丢失了?答案 0 :(得分:13)
您的标记不正确(加上Steini引用的分号丢失,为了完整答案而提及此)
回答1 :span
是一个inline
元素,因此在div
内span
是一个坏主意,它也会如果你将span
嵌套在span
内并给出内部display:block
属性,那就更好了!
回答2 :将display:block
添加到span
以更改默认行为
答案 1 :(得分:2)
因为您在semicolon
之后错过height: 100px
&lt; - 您的css文件中缺少此;
答案 2 :(得分:2)
范围display:inline
您必须设置display:inline-block
但这不标准你必须使用div span总是用于文本
your fiddle demo
答案 3 :(得分:1)
span是一个内联元素,因此它不会注意您的高度和宽度。为此你需要给它:
display:block;
或display: inline-block
答案 4 :(得分:0)
span是一个内联元素,而div则不是。你应该考虑交换它们。
答案 5 :(得分:0)
第一个答案:你在高度风格之后忘记了分号,这就是为什么它没有渲染。
第二个答案:如果仔细观察,边框会出现在div之后。这是因为你 在内联元素中插入块级元素。因此,块级元素将它带到下一行,然后它占用整行。在下一行,您可以看到跨度的右边框。
将块级元素放在内联元素中是不好的做法。事实上,我认为这种结构没有任何实际用途。如果你正在学习,请纠正它。
答案 6 :(得分:0)
默认情况下,div是一个块元素,而span是一个内联元素。块元素始终垂直流动,而内联元素始终从左上方到右下方彼此相邻,这取决于屏幕的宽度。 我们可以在block元素下使用内联元素,反之亦然。如果我们重写,我们期望在响应式布局上会看到类似这样的问题。