【发布时间】:2022-01-20 22:25:46
【问题描述】:
当我将 width: 100% 设置为输入元素时,它会拉伸到其父元素的整个宽度,但随后我对 span 标记执行相同操作,它不会拉伸,而是保持原样,具有与没有设置width: 100% 的宽度相同。 Span 和 input 标签都是内联的,所以我不明白为什么它们的工作方式不同。
你能解释一下为什么会这样吗?
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
input {
width: 100%;
margin-bottom: 10px;
}
span {
width: 100%;
}
</style>
<title>Document</title>
</head>
<form action="#">
<input type="text">
<input type="text">
<input type="text">
</form>
<div class="spanBlock">
<span>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Qui aut obcaecati quod error ipsa. Mollitia,
officiis excepturi. Accusamus distinctio unde deserunt nobis animi ut nemo quia quidem culpa, voluptas
temporibus?</span>
</div>
</body>
</html>
【问题讨论】:
-
Span 是一个内联元素,所以没有宽度。如果要设置宽度,则需要将其更改为块元素。
-
输入也是内联元素。并且宽度属性有效。这不应该是答案。
-
input不是inline,是inline-block -
@AlexanderMamutov 能否请您提供一个链接,据说
input是inline-block元素,因为据说here 是input是inline元素跨度> -
输入是一个内联替换元素。诀窍在于替换。内联替换表现为内联块