布局

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

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

后来,衍生出不少的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都有很好的效果。

最新文章

  1. float,double和decimal类型
  2. JSP Servlet的区别
  3. localhost访问错误Forbidden You don't have permission to access / on this server.解决办法(亲测)
  4. js实现图片加载特效(从左到右,百叶窗,从中间到两边)
  5. Django基础,Day10 - template 模板引擎与路径设置
  6. Android之记住密码与自动登陆实现
  7. Asp.Net生命周期
  8. A Tour of Go Variables
  9. 【HDU 2014 Multi-University Training Contest 1 1002】/【HDU 4862】Jump
  10. android:在ViewPager中使用Button
  11. git 在linux下服务端搭建
  12. WIFI的AP/Sta模式简单介绍
  13. 如何访问https的网站?-【httpclient】
  14. 【LeetCode每天一题】Palindrome Number( 回文数字)
  15. EmguCV Image类中的函数(二)使用MorphologyEx进行更多的变换
  16. js 箭头函数
  17. spring aop实现日志收集
  18. 何时开始phonics学习及配套阅读训练zz
  19. 使用git时出现Please make sure you have the correct access rights and the repository exists.问题已解决。
  20. (字符串 KMP)Blue Jeans -- POJ -- 3080:

热门文章

  1. hdu 2018 母牛的故事(简单dp)
  2. LSM Tree 学习笔记——本质是将随机的写放在内存里形成有序的小memtable,然后定期合并成大的table flush到磁盘
  3. python--17个新手常见Python运行时错误
  4. Python基础-random模块及随机生成11位手机号
  5. L99
  6. codeforces 655D D. Robot Rapping Results Report(拓扑排序+拓扑序记录)
  7. Struts2 - 文件的上传和下载
  8. ffmpeg解码RTSP/TCP视频流H.264(QT界面显示视频画面)
  9. linux命令学习(8):mv命令
  10. DOM基础知识整理