1. 替换元素 与 非替换元素 (实际内容的显示 是否和属性相关)
- ⑴ 替换元素(
replaced element
)
- 替换元素 ⇒ 单标签(无属性) 无内容,添加 属性 有实际内容。
- 没有实际内容,一般是 空标签。
- ① 没有 实际内容:
- ② 显示内容: 浏览器根据其 标签的 ❶ 属性 ,来判断 显示内容。
- 固定宽高比: 且替换元素 一般 拥有 固定的尺寸(宽高 或 宽高比)。
- 比如,图片。
<input type="text" />
- ⑵ HTML 中的 替换元素
- 这些元素 都没有实际的内容。
- ❶
<img>
- 替换元素 ⇒ 单标签 无内容,添加 属性 有实际内容。
img
标签,只写 一个标签,不添加 属性,页面上 不会显示图片,标签 添加 src
属性 指明了 图片的资源地址,页面上 才会显示图片,src
的属性值 不同,引用不同的图片,显示出来的 内容也就不同。
- ❷
<input>
, ❸ <textarea>
, ❸ <select>
,❺ <object>
, <embed>
、<video>
、<audio>
、<canvas>
、<iframe>
- ⑶ 非替换元素:(
non-replaced element
)
- 有实际内容: HTML 的大多数元素 是: 不可替换 元素
- 示例1: 一个段落: 浏览器 将把这段内容 直接显示出来。
<p>wanmei.com</p>
2. 块级元素和行内级元素 (是否 独占一行)
.imgset {
border: solid 5px;
margin: 10px;
padding: 10px;
}
#taera {
border: solid 5px;
background-color: #bdffc2;
}
.blocktest {
border: solid 2px;
background-color: lightseagreen;
margin: 10px;
padding: 10px;
}
.inlinetest {
border: dashed 2px indianred;
background-color: lightblue;
width: 30%;
}
<img alt="" class="imgset" src="images/lizard.png">
<textarea cols="30" id="taera" name="" rows="10"></textarea>
<p class="blocktest">古之 <span class="inlinetest">学者</span>必有师。<span class="inlinetest">师者</span>,所以传道受业解惑也。</p>
<p class="blocktest">人非生而知之者,孰能无惑 ?</p>
<a href="https://www.baidu.com/"><p>学而知之</p></a>真知,才能笃行。
- ⑴ 块级元素
- ① 独占一行
- 独自占领一行,左右两边 都没有元素;
- 自动充满 父级元素的内容区域
- ② 块级元素和 显示类型
display
- 设定 显示类型
display
属性为: block
或 列表项 list-item
的元素都是 块级元素。
- ③ 块级元素⇒ 可以设置宽高
- 200*100px,会改变块元素的 宽高。
- 在不设置宽度的情况下,默认宽度 = 父元素的宽度 。
- ④ 常见的块级元素:
- ⑵ 行内级元素
- ① 不独占一行
- 左右两边 都可以有元素,可以 和其他元素 在一行上。
- ② 行内级元素和 显示类型
display
- 设置
display:inline
,元素变成 行内级元素。
- ③ 行内 非替换元素⇒ 无法 设置宽高
- 行内元素的宽度 =内容的宽度。
- 盒模型上 显示了 宽高的指定值,但是 行内 非替换元素的 实际宽高 并没有变化。
- ★ 行内替换元素(比如 图片
img
)⇒ 可以 设置宽高的。
- ④ 常见的 行内元素:
3. 元素类型 和 对属性的影响
- ⑴ 设置宽高 和 元素的类型
- ① 可以 设置宽高的元素:
- ❶ 块级元素 与 ❷ 行内替换元素(
img
) 是可以设置宽高的。
- ② 不可以 设置宽高的元素:
- ③ 不设置 宽度
- 块级元素的宽度 = 父级元素 内容的宽度。
- 行内级元素的 宽高 = 本身 内容大小 决定的(文字、图片等)。
- 可以看到 两个
span
包含的 “学者”、"师者"的宽高 = 内容 需要的宽高。
- ④ 不设置 高度
- 块级元素的高度 = 本身 内容的高度。
- 可以看到 元素的高度 = 内容 需要的高度。
- 行内级元素的 宽高 = 本身内容大小 决定的(文字、图片等)。
- ⑵ 盒模型 和 元素类型:
- 但是 ❶ 行内级元素 和 ❷ 块级元素一样,都拥有 盒子模型。
- 内外边距:
- ① 块级元素⇒ 内外边距 都有效。
- ② 行内 非替换元素⇒ 垂直方向的 外边距 无效。
- 行内 非替换元素 在垂直方向的
padding
与 margin
是无效的, 如 span, a
等。
- 四个边 都设置了 外边距,但只有 水平方向有效,垂直方向 无效。
- 设置了 内边距 (边框内部), 行内 非替换元素 水平和 垂直方向,都有效。
- ③ 行内 替换元素⇒垂直方向的 内外边距 有效。
- 比如
img
标签 设置 垂直内外边距 是有效的
- 图片的外边距 (边框外围)
- 图片的内边距 (边框内部)
- ⑶ 元素嵌套 和 元素类型
- 行内级元素⇒ 只能容纳 文本或者 其他行内级元素,不能嵌套 块级元素。
- 块级元素 ⇒ 可以嵌套 行内级元素。
- 示例1: 故意在
a
元素中,嵌套一个块级元素p
,会发现 行内级元素的行为, 变成了 块级元素的样子,会自动换行了。不再是 行内级元素的 行为了。
<a href="https://www.baidu.com/"><p>学而知之</p></a>真知,才能笃行。
♣ 结束语
- 感谢:❤ 如果这篇文章 对您有帮助的话,可以点赞、评论、关注,鼓励下作者哦,感谢阅读 ~
- 欢迎指正: 如果发现 有需要 更正的细节问题,欢迎指正,谢谢大家 ~╮( ̄▽ ̄)╭
- 转载 请评论告知作者 并注明出处 ,Thanks♪(・ω・)ノ
- 作者:Hey_Coder
- 来源:CSDN
- 原文:https://blog.csdn.net/VickyTsai/article/details/103481792
- 版权声明:本文为博主原创文章,转载 请评论告知作者 并附上博文链接!