CSS-元素宽高是由什么决定的
任何元素都可以是块级元素 或 行内元素
因为每个元素都可以设置成行内元素或块级元素
行内元素表现形式
代码1
2
3
4
5
6
7
8
9<span>hello! </span>
<span>hello! </span>
<span>hello! </span>
<span>hello! </span>
<span>hello! </span>
<span>hello! </span>
<span>hello! </span>
<span>hello! </span>
<span>hello! </span>
- 行内元素就是在一行中显示,如果后面跟着的还是行内元素,就继续跟在后面显示,当一行不够显示时自动换行
块级元素表现形式
代码1
2
3<div style="border: 1px solid red;">123</div>
<div style="border: 1px solid red;">123</div>
<div style="border: 1px solid red;">123</div>
- 块级元素不管后面跟着的是什么元素,都会另起一行。也就是说块级元素会独占一行。
元素的高度由什么决定的
span 行内元素高度由什么决定的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<style>
div{
border: 1px solid blue;
}
span{
border: 1px solid red;
font-size: 72px;
}
.s1{
font-family: sans-serif;
}
.s2{
font-family: monospace;
}
.s3{
font-family:serif ;
}
</style>
</head>
<body>
<div>
<span class="s1">ABC</span>
<span class="s2">ABC</span>
<span class="s3">ABC</span>
</div>
</body>
</html>
- 可以看到, 我给每个span 都设置了一个字体, 而中间字体的高度明显高于两边的字体 。
- 每一种字体的设计师不一样, 每一种字体的设计师都会对自己设置出来的字体的默认行高不一样
- 所以,行内元素内容为字的元素的行高是由 字体的默认行高决定的。
- 比较详细的解说可以看看这篇知乎文章字号与行高
div 块级元素高度由什么决定的
- 从上面的程序代码可以看到, span是由一个div包裹的 。 div的告诉是中间最高的span的高度。
- 也就是说块级元素的高度是由它的内容决定的,而且是所有内容中最高的内容决定的。
元素的宽度是由什么决定的
1 | <!DOCTYPE html> |
- 行内元素的宽度是由它的内容决定的,行内元素不能设置宽高
块级元素当没有设置宽度是默认100%宽 ,所以才会到最右边。当设置了宽度是就是固定的宽度 , 下面我们把宽度设置为200px;
看div的蓝色边框 , 宽度就是固定的200px;
如果把div设置成行内元素, 它的宽度是怎样的呢,设置属性display:inline
div的宽度会收缩