概述

虽然之前总结了一些页面布局与编写的心得,但是写起页面来还是有很多疑惑的,主要是在有多种写法的时候该用哪种写法?个人觉得这个问题很重要,不能哪种方法能用就用那种方法算了,因为要考虑到日后维护和页面的健壮性。所以自己理了一下相关的问题,总结在下面,供以后开发时参考,相信对其他人也有用。

宽高

要不要设定每个元素的宽高?用数值还是百分比

首先来想一下不设宽高会怎样?

  1. 对于块元素,不设定高它纵向就会懒懒的仅包括它包含的元素就行了,不设定宽它横向就会尽可能的伸展到它能伸展的地方。
  2. 对于内联元素,不设定宽高它就会懒懒的只包含它能包含的元素,如果它其中没有元素,它就会发生塌陷变成0x0不可见。

所以对于块元素,一般说来都需要设定它的宽高,特别是宽,不然会发生意想不到的效果。

对于内联元素,一般来说都不需要设定它的宽高,除非特殊情况比如icon什么的。

那么用数值还是百分比呢?

用百分比更能实现兼容,特别是给body的width和height设定百分比,并且,在特别的情况下,用百分比有意想不到的效果。所以,如果能用百分比,尽量用百分比。需要注意的是,如果用百分比的话,最好有一个max-width(max-height)或者min-width(min-height)来做限制。

margin和padding

以前我一直有一个误区,就是一个元素的width,height属性就等于两条边框之间的距离。其实这种想法是怪异盒模型。现代标准的盒模型的width和height只是里面content的大小。所以当给元素增加padding属性时,边框之间的距离会增大。(虽然理论讲起来很简单,但是按照设计稿就很容易把宽高认为是边框之间的距离)

对于margin,也有一点需要注意,就是块之间的纵向margin会发生塌陷的问题。还有一点要注意,如果元素没有padding,这个时候给第一个子元素的margin-top设定负值的话,父元素会向上移动,原因不明。

但是,对于父元素包含子元素,能用padding也能用margin的情况,该怎么办呢?虽然padding能够改变父元素边框之间的距离,但是能用padding还是用padding(貌似只能用padding?)

定位

定位用margin还是relative的left和top?

我们一般不推荐用绝对布局,但是用margin布局还是relative布局?

事实证明,用relative比用absolute更加难以处理,也难以维护。它偏移了元素,所以还要去找元素的实际位置在哪儿,非常容易混淆。所以推荐用margin定位

浮动

涉及到浮动的地方,一定要注意清除浮动

总结

有时候,试着用多种方法解决问题会带来意想不到的效果,比如说布局可以用margin布局也可以用absolute布局,但是结合起来的话可以做宽度大小兼容

转载于:https://www.cnblogs.com/yangzhou33/p/8784774.html

页面布局与编写(续2)相关推荐

  1. 学习笔记之数据可视化(二)——页面布局(中)

    续上一章 2.6 监控区域布局 2.6.1 布局结构解析: 2.6.2 样式描述: 2.6.3 HTML结构及CSS样式代码 2.6.3 ### 监控区域-效果 2.6.7 点位区域(point) 2 ...

  2. table和div在页面布局上应该注意的问题

    在这篇文章开篇,我先纠正一下我之前写的一篇入门文章的错误,还是先引用一下比较官方的说法吧,避免再次误导各位新手 " <!DOCTYPE> 声明必须位于 HTML5 文档中的第一行 ...

  3. 学习笔记之数据可视化(二)—— 页面布局(下)

    续上一章 2.7 地图区域(.map) 2.7.1 实现步骤: 2.8 用户统计模块 2.8.1 布局: 2.8.2 柱状图 2.9 订单模块 2.9.1 订单区域布局 2.9.2 订单区域(orde ...

  4. 学习笔记之数据可视化(二)——页面布局(上)

    ~续上一章 2. 项目页面布局 2.1 基础布局 2.1.1 PC端屏幕宽度适配设置 2.1.2 主体容器viewport背景图片 2.1.3 HTML结构 2.1.4 css样式代码 2.2 边框图 ...

  5. element-UI栅格系统缩放,导致页面布局效果bug? 叠加?错位?

    这里以此代码片段为例说明一则bug,请bug对号入座.(bug截图省略) 页面的栅格缩放,导致页面布局发生叠加错位? 一.坑1 · 引言: (先来一则bug代码) <el-card v-for= ...

  6. html5 移动端单页面布局

    序      移动端的web网页使用的是响应式设计,但一般我们看到的网站页面都是跳转刷新得到的,比如通过点击一个menu后进入到另一个页面 今天来说下是移动端的单页面的布局.单页面就是一切操作和布局都 ...

  7. 移动端页面布局方式,简单记录一下

    目录 1.视口 2.多倍图 3.移动端开发选择 4.移动端技术解决方案 5.移动端常见布局 6.流式布局 7.flex弹性布局 ①flex与传统布局比较 ②flex布局原理 ③常见父项属性 8.rem ...

  8. 04-前端技术_盒子模型与页面布局

    目录 三,盒子模型与页面布局 1,网页布局介绍 1.1 固定布局 1.2 流式布局(Liquid Layout) 1.3 栅格化布局 1.4 自适应布局(Adaptive Layout) 1.5 响应 ...

  9. html第二章排列页面内容题目,HTML教程 第二章 页面布局及文字设计.doc

    HTML教程 第二章 页面布局与文字设计 标题 一般文章都有标题.副标题.章和节等结构,HTML中也提供了相应的标题标签,其中n为标题的等HTML总共提供六个等级的标题,n越小,标题字号就越大,以下列 ...

最新文章

  1. SpringCloud配置文件 application.yml和 bootstrap.yml区别,执行顺序
  2. TCP通过滑动窗口和拥塞窗口实现限流,能抵御ddos攻击吗
  3. canvas知识点总结2
  4. weblogic oracle连接池配置文件,关于WebLogic 访问Oracle 数据库(建立连接池)问题...
  5. java 实现loading效果_简单实现JS Loading功能
  6. EOJ_1018_玩具谜题
  7. [2020-11-30 contest]数列(矩阵加速),秘密通道(dijkstra最短路)小X游世界树(换根dp),划分(数学)
  8. 云教版认识计算机说课,【教学设计】第1册第1课《认识电脑交朋友》
  9. 华为云WeLink正式发布,这是更懂企业的智能工作平台一枚!
  10. 组件:slot插槽、组件:组合slot
  11. “macOS Catalina下TeXstudio内置PDF阅读器无法正常显示中文”的解决办法
  12. 云图说|图解DGC:基于华为智能数据湖解决方案的一体化数据治理平台
  13. 笨办法学 Python · 续 练习 49:`sed`
  14. Oracle11g新特性:在线操作功能增强-Oracle对象依赖性判断增强 (转载)
  15. 农业大学计算机论文,农业大学毕业论文范文
  16. filebeat+redis+logstash+elasticsearch+kibana搭建日志分析系统
  17. mac下的c语言程序开发,mac VS Code配置C语言开发环境(小白简单Clang版)
  18. 袁国宝:左晖走了,留下什么?
  19. 湘鄂情欲加码大数据 若定增失败将变卖资产
  20. word 2013 并列显示两张图片(且各自带有题注)

热门文章

  1. ajax联系人数,setInterval定时调用ajax实现在线人数统计
  2. 根据数据建立分析模型是什么意思
  3. pytorch打印模型参数_Pytorch网络压缩系列教程一:Prune你的模型
  4. 《好未来编程题》字符串中找出连续最长的数字串
  5. Faker库:一个数据造假的神库
  6. Java路径问题最终解决方案—可定位所有资源的相对路径寻址
  7. JavaWeb学习总结(二):Tomcat服务器学习和使用(一)
  8. 江西省能源局发布第一、二批省级光伏度电补贴目录
  9. 多线程(6)线程同步
  10. [转]JVM运行时内存结构