显示模式转换
相关概念显示模式转换
一、相关概念
HTML中的每个元素(标签)都有一个属性display,dispaly属性有3个可选值,分别对应块级、行级、行内块,决定了元素的显示模式。
1.1、块级元素
块状元素代表性的就是div,h系列,<li>,<dt>,<dd>,<p> ,<form>,<ul>等等,都可以用div来实现。不过为了可以方便程序员解读代码,一般都会使用特定的语义化标签,使得代码可读性强,且便于查错。
块级元素的特点:
可以设置宽高,默认100%宽度。对margin属性的4个方向都有效对padding属性的4个方向都有效块级元素前后会自动换行,即多个块元素会排成一列。
1.2、行级元素
行内元素最常使用的就是span,其他的只在特定功能下使用,修饰字体<b>和<i>标签,还有<sub>和<sup>这两个标签可以直接做出平方的效果,而不需要类似移动属性的帮助,很实用。
行级元素的特点:
设置宽高无效。对margin属性仅设置左右方向有效,上下无效。对padding设置上下左右都有效,即会撑大空间。元素前后不会自动换行,即多个行内元素可以排成一行。
1.3、行内块状元素
行内块状元素综合了行级元素和块级元素的特性,但是各有取舍。因此行内块元素在日常的使用中,由于其特性,使用的次数也比较多。可以说综合了行、块的优点。
行内快元素的特点:
可以设置宽高对margin属性的4个方向都有效对padding属性的4个方向都有效元素前后不会自动换行,即多个行内块元素可以排成一行。
二、显示模式转换
块级元素——>>行内元素:display:inline行内元素——>>块级元素:display:block;行内元素——>>行内块:display:inline-block;
2.1、块级元素——>>行内元素
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>块级标签转行内标签
</title>
<style type="text/css">
div{
width: 100px;
height: 100px;
background-color: red;
display: inline;
}
</style>
</head>
<body>
<div>谷歌
</div>
<div>https://www.google.com
</div>
</body>
</html>
2.2、行内元素——>>块级元素
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>块级标签转行内标签
</title>
<style type="text/css">
a{
width: 100px;
height: 100px;
background-color: red;
display: block;
}
</style>
</head>
<body>
<a href="https://www.baidu.com">百度一下
</a>
</body>
</html>
2.3、行内元素——>>行内块
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>块级标签转行内标签
</title>
<style type="text/css">
a{
width: 100px;
height: 100px;
background-color: red;
display: inline-block;
margin: 20px;
padding: 20px;
}
</style>
</head>
<body>
<a href="https://www.baidu.com">百度一下
</a>
<span>this is 佐证
</span>
</body>
</html>