博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS布局那点事儿
阅读量:4509 次
发布时间:2019-06-08

本文共 1258 字,大约阅读时间需要 4 分钟。

布局

最开始老的一代网站开发,布局都是通过表格实现的。

这样可以形成规整的网格布局,但是也会带来一定的复杂性。比如想要新增某个页面元素,就有可能要改动整个表格,添加很多无用的行或者列。

后来,衍生出不少的CSS框架,他们屏蔽了底层的css语法,只需要按照特定的使用方式就能实现网格布局。这样对于开发者来说,好处自然是方便了;但是也带来了一定的麻烦,比如网格如果不符合用户的应用场景,需要自定义扩展,这就麻烦了;再比如作出的网站不易调试;网站需要引入额外的文件等等。总的来说,还是利大于弊吧,不然bootstrap等等也不会现在火成这样。

CSS布局

网上有很多关于布局的文章,什么双飞翼啊等等。

这里先从最原始的来介绍。考虑到屏幕的宽度不同,有可能造成网页的横向拉伸,为了避免一样过于长,从而导致难于阅读,因此一般的类似博客的网站都会把宽度设置为一个固定的值。当屏幕的宽度拉伸时,也不会改变页面的宽度:

设置的方式大致如下:

width: 920px;margin: 0 auto;/*水平居中*/text-align: left;

如果是左右布局,则会考虑把页面分成两个部分。

一个部分向左浮动,一个部分向右浮动。为什么这样呢?
这是因为如果全部采用向左浮动,如果主体部分由文本换行等,由于像素的偏差可能导致最右边的文本框挤出屏幕,导致无法阅读。因此一个向左,一个向右,中间留有一定的隔离区(空白的地方),当有挤出的部分也会显示在隔离区的部分,而不会影响阅读。

.content .primary {        width: 72.82%;        height: 400px;        background-color: yellow;        float: right;        display: inline;    }    .content .secondary {        width: 25%;        height: 400px;        background-color: blue;        float: left;        display: inline;    }

如果是三列的布局,则可以考虑先分成两部分。某一个部分再分成两部分,通过向左向右浮动的方式显示。

巧用min-width和max-width

min-widthmax-width其实是很长用的。

比如在做响应式web时,考虑到浏览器的伸缩,想要网站也随之改变,那么就会设置宽度高度为一定的百分比,或者通过响应式的语法实现。这时,如果文本内容缩小的很小,宽度很窄可能会影响阅读,因此需要把宽度设置为一个最小值。只有屏幕宽度大于一定的值时,页面才会随之改变。类似的,避免屏幕过大网站拉伸变形,也可以设置一个最大的宽度值。

这个属性对于图片和div都有很好的效果。

转载于:https://www.cnblogs.com/xing901022/p/5190472.html

你可能感兴趣的文章
三维渲染引擎设计与实践(五)
查看>>
20154313 刘文亨 EXP9
查看>>
快速排序
查看>>
Solidity的三种转账方式与比较
查看>>
js api 之 fetch、querySelector、form、atob及btoa
查看>>
php json_encode
查看>>
Docker系统四:Dcoker的镜像管理
查看>>
C#多线程---Semaphore实现线程同步
查看>>
.Net统计代码执行时间
查看>>
PHP连接MySQL报错:Fatal error: Call to undefined function mysql_connect()之解决方法
查看>>
postgre 二进制存储
查看>>
字符串kmp&exkmp&马拉车(刷题总结)
查看>>
什么是BFC
查看>>
【Java面试题】31 介绍Collection框架的结构
查看>>
Microsoft云备份解决方案Azure Backup的常见配置问题
查看>>
ConcurrentHashMap 的实现原理
查看>>
node中fs模块 - fs.open() fs.read() fs.write() fs.close()
查看>>
Java学习笔记_180713_TreeMap_Comparator重写
查看>>
ttt
查看>>
Finance_finacial_engineering_02
查看>>