介绍

几个实现多栏布局的方法。主要介绍使用内部div来创建浮动的栏。

多栏布局有三种基本的实现方案:固定宽度、流动、弹性。

  1. 固定宽度布局的大小是随用户调整浏览器窗口大小而变化,一般是900至1100像素宽。其中960像素是很常见的,因为这个宽度适合所有的现代浏览器,而且能被16、12、10、8、6、5、4和3整除,不仅容易计算等宽分栏的数量,而且计算结果也是么有小数的像素数。
  2. 流动布局的大小会随着用户调整浏览器的窗口大小而变化。这种布局能够很好的适应大屏幕,但是同时 也意味着放弃对页面某些方面的控制,比如随着页面的变化,文本行的长度和页面元素之间的位置关系可能会发送变化。现在越来越多的浏览器都支持CSS媒体查询了,这就让基于浏览器窗口宽度提供不同的CSS样式成为可能。在这种形势下,适应各种屏幕宽度的可变固定布局,正逐步取代流动布局。这种可变的固定布局能够适应最大和最小的屏幕,业界称之为响应式设计。
  3. 弹性布局和流动布局类似,在浏览窗口变化时,不仅布局会变,而且内容元素的大小也会发生变化。

在实际的创建页面之前,先说一下布局的高度和宽度。

布局高度,大多数情况下,布局高度都不需要设定。以便元素的高度随着内容的增加而在垂直方向上扩展。这样扩展的元素会把下面的元素向下推,而布局也能随着内容的增减而垂直伸缩。

布局宽度,与高度不同,我们需要精准的控制布局宽度,以便随着浏览器窗口宽度的合理变化,布局能够做出适当的调整,确保文本行不会过长或者过短。即使必须设定宽度,也不要给包含在其中的元素设定宽度,应该让这些内容元素自动扩展填满栏的宽度。

三栏布局

构建一个简单的三栏布局页面。
.left{
width: 15%;
float: left;
background-color: red;
height: 300px;
}
.middle{
width: 70%;
float: left;
background-color: blue;
height: 300px; }
.right{
width: 15%;
float: left;
background-color: yellow;
height: 300px;
}

*为了直观我们都设定高度为300px。

为了让内容与栏边界拉开距离。为栏添加水平外边距和内边距。会导致又变的栏浮动下滑。在栏中添加大图片,或者没有空格的长字符串,也会导致栏宽超过布局宽度。同样会导致右侧的栏向下滑动。
有三种解决方案:
  • 从设定的元素宽度中减去水平的外边距,边框和内边距的宽度和。这个方法虽然可行但是每次调整内外边距就要重新设置布局宽度。
  • 在容器内部的元素上添加内边距和外边距。与其为容器中的元素添加外边框,不如在栏中添加一个没有宽度的div,让它包含所有的内容元素,然后再给这个元素添加边框和内边距。如此只需为内部div设置一次样式,jiukeyhi让所有的元素与栏边距保持一致。而且将来在调整时也很方便,任何新增元素的宽度都由这个内部div决定。
  • 使用CSS3的box-sizing属性切换盒子的缩放方式。比如  section {  box-sizing  :border-box ; }.,再给栏添加内外边距就不会导致盒子的宽度发生变化了。但是IE6和IE7不支持box-sizing属性。不过有个脚本专门解决这个问题,名叫 borderBoxModel.js。




版权声明:本文为博主原创文章,未经博主允许不得转载。

CSS-页面布局的更多相关文章

  1. CSS 页面布局、后台管理示例

    CSS 页面布局.后台管理示例 页面布局 1.头部菜单 2.中间内容/中间左侧菜单 3.底部内容 <div class='pg-header'> <div style='width: ...

  2. css页面布局

    写在前面: 页面布局整体上可以分为两类:固定宽度(一般固定960px):流式布局:将流式布局转换为固定布局很容易,只需要外围再包括一个div,为其设置宽度即可. html默认的布局方式是将每个块状标签 ...

  3. CSS页面布局常见问题总结

    在前端开发中经常会碰到各种类型布局的网页,这要求我们对css网页布局非常熟悉.其中水平垂直居中布局,多列布局等经常会被使用到,今天就来解决一下css布局方面的问题. 水平垂直居中的几种方法 说到水平垂 ...

  4. css页面布局总结

    W3C标准:是万维网制定的一系列标准,包括结构化标准语言(html.xml),表现 标准语言(css),行为标准语言(DOM,ECMAScript<javascript>)组成.这个标准倡 ...

  5. CSS页面布局与网格(上)

    1.布局规划 1.1 网格 网格系统是设计师在切分布局时作为参照的一组行和列. 1.2 布局辅助类 类名用于为布局添加样式.为了让样式可以重用,让类名表达其意图. .column { /* 一般列的样 ...

  6. 第6天:DIV+CSS页面布局实战

    今天我从早上9:00写代码一直写到下午18:00,写的我差点抑郁了,还好最后终于写出了一个完整页面,没有做动画效果,就是练习了一下DIV+CSS布局,做的是福务达(www.zzfwd.cn)的主页,真 ...

  7. 一、CSS概述 二、CSS的选择器(认识) 三、CSS样式和属性(练习) 四、重构商城首页DIV+CSS(页面布局)(重点) 浮动/更改显示方式

    一.CSS概述###<1>概念 DIV,就是一个HTML元素,块级元素,通常结合CSS进行页面的布局. CSS,层叠样式表,给HTML元素增强显示. ###<2>作用 样式定义 ...

  8. 3种常见的CSS页面布局--双飞翼布局、粘连布局、左右两列布局

    一.左右两列布局 1.代码如下,可先粘贴复制,自行运行 <!DOCTYPE html><html> <head> <meta charset="UT ...

  9. dic+css页面布局分享

    HTML部分代码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  10. 第五章 CSS页面布局基础

    1.标准文档流 在正常流中,在没有使用浮动或者定位的情况下,文本元素按照从上到下.从左到右的格式布局.这是浏览器的默认行为.在正常流中,块级元素从上到下依次排列,而行级元素从左到右依次排列.正常流中的 ...

随机推荐

  1. Jena TDB 102

    1 Introduction TDB is a RDF storage of Jena. official guarantees and limitations TDB support full ra ...

  2. jq 一些小方法

    js 控制a标签的onclick方法 document.getElementById("a3").onclick = ""; window.document.g ...

  3. 第七课第四节,T语言流程语句(版本5.0)

    break语句 通常用在循环.遍历语句中.当跳出(break)语句用于循环语句中时,可使程序终止循环而执行循环后面的语句, 通常跳出 语句总是与如果语句联在一起.即满足条件时便跳出循环.可以说:跳出语 ...

  4. Python学习笔记——Day1

    突破从改变开始,一行行字符,熟悉的感觉,还是那个味儿...呀哈哈哈 一.变量 变量是计算机语言中能存储计算结果或能表示值的抽象概念,变量可以通过变量名访问.调用及修改.变量通常表示可变状态,即具有存储 ...

  5. HTML 空格的表示符号 nbsp / ensp / emsp 的区别

    HTML 空格的表示符号 nbsp / ensp / emsp 的区别?     半角的不断行的空白格(推荐使用)    半角的空格    全角的空格

  6. SQL Server DBA日常查询视图_数据库对象视图

    1.数据库 use master; exec sp_helpdb 1.1查询数据库大小 1.2查询数据库状态 use msdb select name, user_access_desc, --用户访 ...

  7. linux下Nginx 安装配置

    Nginx 安装 一.首先要安装 PCRE PCRE 作用是让 Ngnix 支持 Rewrite 功能. 1.下载 PCRE 安装包,下载地址: http://downloads.sourceforg ...

  8. 复制到剪贴板的JS实现--ZeroClipboard (兼解决IE下兼容问题)

    复制到剪贴板的JS实现--ZeroClipboard (兼解决IE下兼容问题) 相信绝大多数人都遇到过这样的功能实现,“复制”或者“复制到剪贴板”这样的功能.但是由于各大浏览器的实现方案不一样,导致几 ...

  9. List和Map之间的转换和关联

    首先,Map.values返回的是此Map中包含的所有值的collection视图. 然后利用ArrayList的构造器ArrayList(Collection<? extends E> ...

  10. PLSQL转义字符

    http://blog.csdn.net/cunxiyuan108/article/details/5800800