Python HTML和CSS 5:CSS盒子模型

简介: Python HTML和CSS 5:CSS盒子模型

一、盒子模型解释



  • 1.1、元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻,帮助我们设置元素对应的样式。盒子模型示意图如下:



image.png

image.png


CSS盒模型和IE盒模型的区别:


  • 在 标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。
  • IE盒子模型中,width 和 height 指的是内容区域+border+padding的宽度和高度。
  • 注意:Android中也有margin和padding的概念,意思是差不多的,如果你会一点Android,应该比较好理解吧。区别在于,Android中没有border这个东西,而且在Android中,margin并不是控件的一部分。


  • 1.2、把元素叫做盒子,设置对应的样式分别为:盒子的宽度(width)、盒子的高度(height)、盒子的边框(border)、盒子内的内容和边框之间的间距(padding)、盒子与盒子之间的间距(margin)。


二、盒子的一些设置



  • 2.1、设置盒子的宽高


/* 设置盒子的宽度,此宽度是指盒子内容的宽度,不是盒子整体宽度(难点) */ 
width:200px; 
/* 设置盒子的高度,此高度是指盒子内容的高度,不是盒子整体高度(难点) */
height:200px;
  • 2.2、设置盒子的边框
  • 设置一边的边框,比如顶部边框,可以按如下设置:


/* 设置顶部边框颜色为红色 */ 
border-top-color:red;     
/* 设置顶部边框粗细为10px */  
border-top-width:10px;   
/* 设置顶部边框的线性为实线,常用的有:
   solid(实线)   dashed(虚线)  dotted(点线); */
border-top-style:solid;
  • 可以把上面的三局代码用一句代替,如下,空格隔开,没有顺序


border-top:10px solid red;

设置其它三个边的方法和上面一样,把上面的'top'换成'left'就是设置左边,换成'right'就是设置右边,换成'bottom'就是设置底边


  • 四个边如果设置一样,可以将四个边的设置合并成一句:


border:10px solid red;
  • 2.3、设置内间距 padding
  • 设置盒子四边的内间距,可设置如下:


padding-top:30px;     /* 设置顶部内间距30px */ 
padding-left:50px;     /* 设置左边内间距50px */ 
padding-right:40px;    /* 设置右边内间距40px */ 
padding-bottom:60px;   /* 设置底部内间距60px */
  • 上面的设置可以简写如下: 四个值按照顺时针方向,分别设置的是 上 右 下 左  四个方向的内边距值。


padding:20px 40px 50px 30px;
  • padding后面还可以跟3个值,2个值和1个值,它们分别设置的项目如下:
  • 3 个值:设置顶部内边距为20px,左右内边距为40px,底部内边距为50px


padding:20px 40px 50px;
  • 2 个值:设置上下内边距为20px,左右内边距为40px


padding:20px 40px;
  • 1 个值:设置四边内边距为20px


padding:20px;
  • 2.4、设置外间距 margin:外边距的设置方法和padding的设置方法相同,将上面设置项中的'padding'换成'margin'就是外边距设置方法。


三、盒模型的实际尺寸



  • 3.1、 按照下面代码制作页面:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>盒子的实际尺寸</title>
    <style type="text/css">
        .box01{width:50px;height:50px;background-color:red;}
        .box02{width:50px;height:50px;background-color:red;border:50px
  solid #000}
        .box03{width:50px;height:50px;background-color:red;border:50px
  solid #000;padding: 50px;}
    </style>
</head>
<body>
    <div class="box01">1</div>
    <br/>
    <div class="box02">2</div>
    <br>
    <div class="box03">3</div>
</body>
</html>


网络异常,图片无法展示
|

image.png


通过上面的页面得出结论:盒子的width和height设置的是盒子内容的宽和高,不是盒子本身的宽和高,盒子的真实尺寸计算公式如下

盒子宽度 = width + padding左右 + border左右 + margin左右

盒子高度 = height + padding上下 + border上下 +  margin上下

目录
相关文章
|
1天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
6 1
|
1天前
|
移动开发 HTML5
HTML5/CSS3粒子效果进度条代码
HTML5/CSS3进度条应用。这款进度条插件在播放进度过程中出现粒子效果,就像一些小颗粒从进度条上散落下来
13 0
HTML5/CSS3粒子效果进度条代码
|
2天前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
7 0
|
2天前
|
数据采集 数据挖掘 Python
Python之html2text: 将HTML转换为Markdown 文档示例详解
Python之html2text: 将HTML转换为Markdown 文档示例详解
4 0
|
2天前
|
数据采集 Python
Python HTML解析详解
Python HTML解析详解
6 0
|
5天前
|
移动开发 前端开发 JavaScript
:掌握移动端开发:HTML5 与 CSS3 的高效实践
:掌握移动端开发:HTML5 与 CSS3 的高效实践
20 1
|
6天前
|
前端开发
CSS盒子模型
【5月更文挑战第4天】CSS盒子模型。
19 7
|
10天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
10天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
|
10天前
|
前端开发 JavaScript UED
【专栏:HTML 与 CSS 前端技术趋势篇】Web 性能优化:CSS 与 HTML 的未来趋势
【4月更文挑战第30天】本文探讨了CSS和HTML在Web性能优化中的关键作用,包括样式表压缩、选择器优化、DOM操作减少等策略。随着未来趋势发展,CSS模块系统、自定义属性和响应式设计将得到强化,HTML新特性也将支持复杂组件构建。同时,应对浏览器兼容性、代码复杂度和性能功能平衡的挑战是优化过程中的重要任务。通过案例分析和持续创新,我们可以提升Web应用性能,创造更好的用户体验。