css中如何实现帧布局_浅谈web前端中的表格布局与CSS盒子布局

在web前端设计排版时我们可能会用到表格布局和div+CSS布局,但现在主要使用后者,为何?今天我们来谈一谈两者之间的发展和原理。

话不多说下面来干货

发展过程

上个世纪Web开发人员流行使用表格进行文档整体布局。因为当时大部分浏览器不支持CSS,而且大部分人不会CSS,且没有文档拆分设计,致使文档臃肿,到了上个世纪末大部分没有相关背景的人进入,对于那些没有相关背景的开发人员觉得表格布局简单,致使使用它的人更多。本世纪出出现了泡沫危机致使大部分非专业人士的推出,而剩下来的大神觉得css更具有优势,所以div+CSS就得以发展。

传统表格布局

传统表格布局利用了HTML中的表格元素设置参数以达到无边框特性,将网页中的各个元素按版式划分放入表格的各单元格中,从而实现复杂的排版组合。

特点

现在依然有网站在使用表格布局,表格布局使用方法简单,制作只要将内容按照行和列拆分,用表格组装起来即可实现设计版面布局。

ddd4d9f2ee331f537b46f53a668b4518.png

如今我们对网站外观要求和体验的不断提高,开发人员用各种图片来装饰网页。由于一些大图会致使下载速度缓慢,所以一般我们将大图切分成若干个小图,使网页加载速度加快。下图所示为使用表格布局的页面和该页面的部分HTML代码。

7702087101ac7f249fe2eaf5504f724e.png

网页效果

fac399f0d458e3f078b003c699d070df.png

div+CSS

CSS布局是网页html通过div标签+css样式表代码开发制作的(html)网页的统称。

所有都元素都被看做是一个个盒子,它们占据一定空间,在其中有着特定的内容。我们可以通过调整盒子的边框和间距等参数来调节盒子的位置以及大小。页面是由大大小小许多盒子组成的,这些盒子互相之间彼此影响,因此,我们既需要理解每个盒子内部的机构,也需要理解盒子直接的关系以及互相的影响。

组成

盒子模型由content(内容)、border(边框)、padding(内边距)、margin(外边距)共4个部分组成。如下图:

ac0dfc555ac5d1bcead62e9468b2dffa.png

一个盒子在页面上由“内容+内边距+外边距+边框”组成的,可以通过设定盒子的border、padding和margin来实现各种各样的排版效果。也不是所有用<div>定义的网页元素才是盒子,所有的网页元素都可以看做是盒子。网页上的表格、图片、文字等,从盒子模型的角度就是大大小小的盒子排列或嵌套在一起的。

总结

网页改版维护的维护

表格布局:复杂的表格设计使得设计不易,修改更复杂,最后生成的网页代码有许多冗余,还有许多没有任何意义的元素,文件量庞大,下载慢,解析速度也慢,维护和更新困难。

Div+CSS:可以把要展示的内容与其表现样式分开,对CSS文件进行修改,其他HTML文件中自动进行套用,不必在每个HTML文件中重复设置,减少设计者更多负担,修改页面更省时。

保持视觉的一致性:

DIV+CSS技术,方便统一网页风格,避免了不同区域或不同页面体现出的效果偏差。

页面载入得更快:

大部分页面代码写在了CSS当中,使页面体积容量更小。比表格嵌套的方式,DIV+CSS将页面独立成更多区域,打开页面时,逐层加载,而不像表格嵌套那样整个页面圈在一个大表格里,由此页面加载速度更加极速。

搜索引擎友程度高:

用表格进行网页布局的代码较多,搜索引擎要把多的代码去掉。而使用DIV+CSS布局设计网页,所有样式都在CSS里,正文代码得到极大的精简,也减少了HTML代码,正文就突出了,搜索程序能在更短的时间内爬完整个页面,搜索程序执行效率得到了提升。

如果有任何错误和纰漏,请联系我更正。

如果你有任何意见一定要联系告诉我,让我快速成长起来哟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Predicate操作Collection集合

Java 8 起为 Collection 集合新增了一个 removeIf(Predicate filter) 方法&#xff0c;该方法将会批量删除符合 filter 条件的所有元素。该方法需要一个 Predicate 对象作为参数&#xff0c;Predicate 也是函数式接口&#xff0c;因此可使用 Lambda 表达式作为参数。 示例使用…

油猴的简介和安装

目录 1.油猴简介 2.油猴插件安装 方法1 方法2 3.获取油猴脚本 4.脚本的使用 4.1 脚本的设置及功能 4.2 安装油猴脚本 4.3 新建脚本 5.脚本编写方法 功能注释 脚本权限 编写脚本 1.油猴简介 油猴脚本是一款免费的浏览器扩展和最为流行的用户脚本管理器&#xff0c…

Logistic回归——二分类 —— matlab

目录 1.简介 2.应用范围 3.分类 3.应用条件 4.原理详解 4.1 sigmod分类函数 4.2 建立目标函数 4.3 求解相关参数 5.实列分析 5.1 读取数据&#xff08;excel文件&#xff09; 5.2 分离数据集 5.3 求解前设定 5.4 求解目标函数 5.5 预测 5.6 预测分类 5.7 准确率…

java 抽象类_java中的抽象类

普通类可以直接产生实例化对象&#xff0c;并且在普通类之中可以包含有构造方法、普通方法、static方法、常量、变量的内容。而所谓的抽象类就是指在普通类的结构里面增加抽象方法的组成部分&#xff0c;抽象方法指的是没有方法体的方法&#xff0c;同时抽象方法还必须使用abst…

Stream操作Collection集合

独立使用 Stream 的步骤如下&#xff1a; 1 . 使用 Stream 或 XxxStream 的 builder() 类方法创建该 Stream 对应的 Builder。 2 . 重复调用 Builder 的 add() 方法向该流中添加多个元素。 3 . 调用 Builder 的 build() 方法获取对应的 Stream。 4 . 调用 Stream 的聚集方法…

Logistic回归——二分类 —— python

目录 1.简介 2.应用范围 3.分类 3.应用条件 4.原理详解 4.1 sigmod分类函数 4.2 建立目标函数 4.3 求解相关参数 5.实列分析 5.1 导入库 5.2 读取数据&#xff08;excel文件&#xff09; 5.3 分离数据集 5.4 求解前设定 5.5 求解目标函数 5.6 预测 5.7 预测分类…

dubbo官方文档_狂神说SpringBoot17:Dubbo和Zookeeper集成

狂神说SpringBoot系列连载课程&#xff0c;通俗易懂&#xff0c;基于SpringBoot2.2.5版本&#xff0c;欢迎各位狂粉转发关注学习。未经作者授权&#xff0c;禁止转载分布式理论什么是分布式系统&#xff1f;在《分布式系统原理与范型》一书中有如下定义&#xff1a;“分布式系统…

第一个脚本-HelloWorld

目录 前言 脚本的作用 创建脚本 开始编写我们这次的HelloWorld的对话框 前言 我的扩展主要使用:Tampermonkey&#xff0c;当然其他的有类似功能的也可以&#xff0c;我们就将这些统称为油猴吧。 本节主要内容: 描述脚本的作用和油猴,脚本的基本结构,创建一个脚本,使它能够…

bme280 环境传感器开发板_STM32Cube14 | 使用硬件I2C读写环境光强度传感器

更多精彩~点击上面蓝字关注我们呀&#xff01; 寻求更好的阅读体验&#xff0c;请点击阅读原文移步&#xff1a;Mculover666的个人博客。本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)。1. 准备工作硬件准备开发板首先…

Java查询图书信息

使用泛型集合来实现某图书管理系统的查询功能。 在图书管理系统中为了方便管理图书&#xff0c;将图书划分为几个类别。每个类别下有很多图书&#xff0c;每本图书都有相对应的类别&#xff0c;这就具备了一对多的关系映射&#xff0c;即一个类别对应多本图书。 在这种情况下…

平稳序列的拟合和预测之序列的预测

目录 1.线性预测函数 2.预测方差最小原则 3.线性最小方差预测的性质 AR(p)序列的预测 例题 R语言预测举例 MA(q)序列的预测 例题 ARMA(p,q)序列预测 例题 小结 序列只有为非白噪声时才可以进行预测哦&#xff01;&#xff01; 1.线性预测函数 根据平稳性和可逆性&…

python界面设计实例qt_pyqt的最小示例qtreeview和qt设计

我试图为qt设计器设计的应用程序获取一个最小的示例&#xff0c;其中pyqt涉及一个QTreeView 1&#xff09;我可以用这种方式启动应用程序&#xff0c;但是如果我按下按钮&#xff0c;TreeView小部件中没有显示任何条目&#xff0c;我没有收到任何错误消息&#xff0c;布局看起来…

TypeError: ufunc ‘multiply‘ did not contain a loop with signature matching types dtype(‘S32‘) dtype(

目录 错误&#xff1a; 解决&#xff1a; 错误&#xff1a; TypeError: ufunc multiply did not contain a loop with signature matching types dtype(S32) dtype(S32) dtype(S32) 翻译&#xff1a;TypeError: ufunc multiply 不包含签名匹配类型 dtype(S32) dtype(S32) d…

Java一对多关系示例

生活中常见一对多关系的例子&#xff0c;如一个学校可以包含多个学生&#xff0c;一个学生属于一个学校&#xff0c;那么这就是一个典型的一对多关系&#xff0c;可以通过集合进行关系的表示。 1 . 定义学生类 import java.util.HashSet; import java.util.Iterator;public c…

vue 浏览器调试 样式如何定位样式_浏览器断点调试-程序员的必修课

一、源码调试/debugger方法1.1控制台调试按钮介绍Resume script execution恢复断点调试、常用在一个方法调用多个js文件(适用冗长js代码使用)、点击这个会直接跳转到下一个断点(逐过程执行)Pause script execution停止断点调试step over next function call逐语句执行&#xff…

Python: ufunc ‘bitwise_xor‘ not supported for the input types,....

错误&#xff1a; ufunc bitwise_xor not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule safe 原因&#xff1a; 错误使用 ^ 解决&#xff1a; 将使用的 ^ 全部改为 ** &#xff0c…

https open api_Web上的分享(Share)API

我认为Web Share API非常酷&#xff0c;简而言之&#xff0c;它会利用您所使用的平台上的原生共享功能(如果该平台支持的话)。我喜欢这个&#xff1a;远远不止这些东西&#xff1a;为什么&#xff1f;Web Share API只是几行代码。简单&#xff01;没有图像&#xff0c;没有重量…

Java多对多关系示例

使用集合不仅可以表示一对一的关系&#xff0c;也可以表示多对多的关系。例如&#xff0c;一个学生可以选多门课程&#xff0c;一门课程可以有多个学生参加&#xff0c;那么这就是一个典型的多对多关系。 要完成上面要求&#xff0c;首先应该定义两个类&#xff0c;分别是学生…

无季节效应的非平稳序列分析(一)

目录 Cramer分解定理&#xff08;1961年提出&#xff09; 差分 R语言函数 diff 例题&#xff1a; 过差分&#xff1a; 小结 Cramer分解定理&#xff08;1961年提出&#xff09; 任何一个时间序列 都可以分解为两部分的叠加:其中一部分是由多项式决定的确定性趋势成分&a…

求一个任意实数c的算术平方根g的算法设计思想_算法复习第四篇——贪心法

公元2020年5月5日&#xff0c;距离算法考试仅剩4天。一、知识归纳1.设计思想只根据当前已有的信息就做出选择&#xff0c;而且一旦做出了选择&#xff0c;将来无论如何都不能更改不从整体最优考虑&#xff0c;所做的选择只是在某种意义上的局部最优这种选择并不总能获得整体最优…