Python HTML和CSS 7:盒子的类型:块元素、内联元素、内联块元素

简介: Python HTML和CSS 7:盒子的类型:块元素、内联元素、内联块元素

元素就是标签,布局中常用的有三种标签,块元素、内联元素、内联块元素,了解这三种元素的特性,才能熟练的进行页面布局。


一、块元素



  • 1.1、块元素,也可以称为行元素,布局中常用的标签如:div、p、ul、li、h1~h6、dl、dt、dd等等都是块元素,它在布局中的行为:


  • 支持全部的样式
  • 如果没有设置宽度,默认的宽度为父级宽度100%
  • 盒子占据一行、即使设置了宽度


  • 1.2、行为的举例
  • <1>、如果没有设置宽度,默认的宽度为父级宽度100%:占据一行


<div class="box1"> 我第1个块元素</div>


  • <2>、盒子占据一行、即使设置了宽度


image.png

<div class="box1"> 我第1个块元素</div>
<div class="box2"> 我第2个块元素</div>


二、内联元素



  • 2.1、内联元素,也可以称为行内元素,布局中常用的标签如:a、span、em、b、strong、i等等都是内联元素,它们在布局中的行为:
  • 支持部分样式(不支持宽、高、margin上下、padding上下)
  • 宽高由内容决定
  • 盒子并在一行
  • 代码换行,盒子之间会产生间距
  • 子元素是内联元素,父元素可以用text-align属性设置子元素水平对齐方式
  • 2.2、行为的举例
  • <1>、支持部分样式:不支持宽、高、margin上下


image.png

  • <2>、盒子并在一行:由上图可知
  • <3>、代码换行,盒子之间会产生间距,如下


image.png



解决内联元素间隙的方法

解决办法一:代码不去换行,挨着写,产生的间距就会取消掉,如下


image.png


解决办法二::将内联元素的父级设置font-size为0,内联元素自身再设置font-size


  • <4>、子元素是内联元素,父元素可以用text-align属性设置子元素水平对齐方式


image.png


三、内联块元素



  • 3.1、内联块元素,也叫行内块元素,是新增的元素类型,现有元素没有归于此类别的,img和input元素的行为类似这种元素,但是也归类于内联元素,我们可以用display属性将块元素或者内联元素转化成这种元素。它们在布局中表现的行为:
  • 支持全部样式
  • 如果没有设置宽高,宽高由内容决定
  • 盒子并在一行
  • 代码换行,盒子会产生间距
  • 子元素是内联块元素,父元素可以用text-align属性设置子元素水平对齐方式。


提示:这三种元素(块元素、内联元素、内联块元素),可以通过 display 属性来相互转化,不过实际开发中,块元素用得比较多,所以我们经常把内联元素转化为块元素,少量转化为内联块,而要使用内联元素时,直接使用内联元素,而不用块元素转化了。


  • 3.2、display属性:是用来设置元素的类型及隐藏的,常用的属性有:
  • none 元素隐藏且不占位置
  • block 元素以块元素显示
  • inline 元素以内联元素显示
  • inline-block 元素以内联块元素显示
  • 3.3、以下面一个例子为例来使用一下display属性以及上面的知识,效果图如下


image.png

  • <1>、分析:这是一个大盒子包着一些小盒子,小盒子的颜色和边框都是一样,又是一行是同时也有宽度,所以是 内联块标签。
  • <2>、内体的代码以及注释如下


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>display属性的使用</title>
    <style type="text/css">
       .menu{
           width: 694px;
           height: 50px;
           font-size: 0px;
           /*background-color: red;*/
       }
       .menu a{
           width: 98px;
           height: 48px;
           /* 改变块标签为内联块标签 */
           display: inline-block;
           background-color: white;
           /* 边框的设置*/
           border: 1px solid gold;
           /* 字体大小的设置 */
           font-size: 16px;
           /* margin 左边框的合并 */
           margin-left: -1px;
           /* 字体居中 */
           text-align: center;
           /* 行高的设置让文字垂直居中 */
           line-height: 48px;
           /* 去除下划线 */
           text-decoration: none;
           /* 字体格式的设置 */
           font-family: "Microsoft YaHei";
           /* 字体颜色的设置 */
           color: pink;
         }
         /* 伪类的设置:鼠标放上去元素的变化 */
         .menu a:hover{
            color: white;
            background-color: gold;
         }
    </style>
</head>
<body>
    <div class="menu">
         <a>首页</a>
         <a>公司简介</a>
         <a>解决方案</a>
         <a>公司新闻</a>
         <a>行业动态</a>
         <a>招贤纳才</a>
         <a>联系我们</a>
    </div>
</body>
</html>


目录
相关文章
|
1月前
|
数据挖掘 Shell 测试技术
怎么用Python解析HTML轻松搞定网页数据
**Python解析HTML摘要** 本文介绍了使用Python处理HTML的常见需求,如数据提取、网络爬虫和分析,并讨论了三种解析方法。正则表达式适用于简单匹配,但对复杂HTML不理想;BeautifulSoup提供简单API,适合多数情况;lxml结合XPath,适合处理大型复杂文档。示例展示了如何用这些方法提取链接。
|
2月前
|
Ubuntu C++ Docker
Docker的基本指令和HTML/PYTHON/C++的简单创建示例
Docker的基本指令和HTML/PYTHON/C++的简单创建示例
|
4天前
|
Python
Python 下载 html 中的 图片
Python 下载 html 中的 图片
10 2
|
1月前
|
数据采集 自然语言处理 大数据
​「Python大数据」词频数据渲染词云图导出HTML
使用Python,本文展示数据聚类和办公自动化,焦点在于通过jieba分词处理VOC数据,构建词云图并以HTML保存。`wordCloud.py`脚本中,借助pyecharts生成词云,如图所示,关键词如&quot;Python&quot;、&quot;词云&quot;等。示例代码创建了词云图实例,添加词频数据,并输出到&quot;wordCloud.html&quot;。
47 1
​「Python大数据」词频数据渲染词云图导出HTML
|
1月前
|
XML 移动开发 数据格式
【Python】已解决:bs4.FeatureNotFound: Couldn’t find a tree builder with the features you requested: html5
【Python】已解决:bs4.FeatureNotFound: Couldn’t find a tree builder with the features you requested: html5
55 1
|
1月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
2月前
|
前端开发 容器
CSS布局基础:块级元素、行内元素与行内块元素详解
CSS布局基础:块级元素、行内元素与行内块元素详解
30 0
|
2月前
|
移动开发 HTML5
html5为什么只需要写<!doctype html>? 一共有多少种Doctype文档类型?
html5为什么只需要写<!doctype html>? 一共有多少种Doctype文档类型?
30 0
|
2月前
|
XML 数据采集 前端开发
Python第二章(HTMl文件,CSS语言与第三方库Beautiful Soup)
Python第二章(HTMl文件,CSS语言与第三方库Beautiful Soup)
|
前端开发 容器
CSS 的布局 盒子
CSS 的布局 盒子
119 0
CSS 的布局 盒子