实现结构与表现分离

在真正开始布局实践之前,再来认识一件事——结构和表现相分离,这也用CSS布局的特色所在,结构与表现分离后,代码才简洁,更新才方便,这不正是我们学习CSS的目的所在吗?举个例来说P是结构化标签,有P标签的地方表示这是一个段落区块,margin是表现属性,我要让一个段落右缩进2字高,有些人会想到加空格,然后不断地加空格,但现在可以给P标签指定一个CSS样式:P {text-indent: 2em;},这样结果body内容部分就如下,这没有外加任何表现控制的标签:

加进天涯社区有一段时间了,但一直没有时间写点东西,今天写了一篇有关CSS布局的文章,并力求通过一种通俗的语言来说明知识点,还配以实例和图片,相信对初学CSS布局的人会带来一定的帮助。

如果还要对这个段落加上字体、字号、背景、行距等修饰,直接把对应的CSS加进P样式里就行了,不用像这样来写了:

段落内容

这个是结构和表现混合一起写的,如果很多段落有统一结构和表现的话,再这样累加写下去代码就繁冗了。

再直接列一段代码加深理解结构和表现相分离:

用CSS排版

以下是引用片段:

#photoList img{

height:80;

width:100;

margin:5px auto;

}

–>

不用CSS排版

以下是引用片段:

第一种方法是结构表现相分离,内容部分代码简单吧,如果还有更多的图片列表的话,那么第一种CSS布局方法就更有优势,我打个比喻你好理解:我在BODY向你介绍一个人,我只对你说他是一个人,至于他是一个什么样的人,有多高,是男是女,你去CSS那里查下就知道。这样我在BODY的工作就简单了,也就是说BODY的代码就简单了。如果BODY有一个团队人在那里,我在CSS记录一项就行了,这有点像Flash软件里的元件和实例的概念,不同的实例共享同一个元件,这样动画文件就不大了,把这种想法移到CSS网页设计中,就是代码不复杂,网页文件体积小能较快被客户端下载了。演示地址:http://www.hsptc.com/css1.html用CSS排版减小网页文件体积

像上面我做的那个版面,一共分为四个区块,每个区块的框架是一样的,这个框架就是用CSS写出来的,样式写一次,就可以被无数次调用了(用class调用,而不是ID),只要改变其中的文字内容就可以生成风格统一的众多板块了,它的样式和结构代码是(请不要直接复制生成网页,把下面代码分别粘贴到网页中它们应在的位置):

以下是引用片段:

* {margin:0px; padding:0px;}

body {

font-size: 12px;

margin: 0px auto;

height: auto;

width: 805px;

}

.mainBox {

border: 1px dashed #0099CC;

margin: 3px;

padding: 0px;

float: left;

height: 300px;

width: 192px;

}

.mainBox h5 {

float: left;

height: 20px;

width: 179px;

color: #FFFFFF;

padding: 6px 3px 3px 10px;

background-color: #0099CC;

font-size: 16px;

}

.mainBox p {

line-height: 1.5em;

text-indent: 2em;

margin: 35px 5px 5px 5px;

}

–>

前言

正文内容

CSS盒子模式

正文内容

转变思想

正文内容

熟悉步骤

正文内容

熟悉工作流程

在真正开始工作之前我们脑海中要形成这样一种思想:表格是什么我不知道,在内容部分我不能让它再出现表现控制标签,如:font、color、height、width、align等标签不能再出现,(简单说工作前先洗脑,忘掉以前的一惯做法,去接受和使用全新的方法),我不是单纯的用DIV来实现排版的嵌套,DIV是块级元素,而像P也是块级元素,例如要分出几个文字内容块,不是一定要用DIV才叫DIV排版,不是“

文字块一
文字块二
文字块三

”,而用“

文字块一

文字块二

文字块三

”更合适。

用DIV+CSS设计思路是这样的: 1.用div来定义语义结构;2.然后用CSS来美化网页,如加入背景、线条边框、对齐属性等;3.最后在这个CSS定义的盒子内加上内容,如文字、图片等(没有表现属性的标签),下面大家跟我一起来做一个实例加深对这个步骤的理解。先看结果图:

演示地址:http://www.hsptc.com/css2.htmlCSS排版结果图

用div来定义语义结构

现在我要给大家演示的是一个典型的版面分栏结构,即页头、导航栏、内容、版权(如下图),典型版面分栏结构其结构代码如下:

以下是引用片段:

css盒子教程,彻底弄懂css盒子模式(div布局快速入门)_css教程相关推荐

  1. 彻底弄懂CSS盒子模式一(DIV布局快速入门)

    ­彻底弄懂CSS盒子模式一(DIV布局快速入门) ­ ­作者:唐国辉 ­ ­实例网页网址:http://www.blueidea.com/articleimg/2007/03/4545/css2.ht ...

  2. html div css盒子,CSS盒子模式一(DIV布局快速入门)_html/css_WEB-ITnose

    中心最新招了几十个人,我也成小旋风了,看来这个山头还得呆几天.毕竟有几十口子人哪,咋能撒手不管啊!我就先发个贴热热身!也希望前几届的师哥师姐多 多指教. 我们在网页设计中常听的属性名:内容(conte ...

  3. Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 4. 函数

    什么样的程序员才是优秀的程序员?咪博士认为"慵懒"的程序员才是真正优秀的程序员.听起来不合逻辑?真正优秀的程序员知道如何高效地工作,而不是用不止境的加班来完成工作任务.函数便是程序 ...

  4. python海龟教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环...

    条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句.如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止.如果初始时,条件不成立,则循环 1 次也不会执行.Python 中 ...

  5. 虚幻引擎5:快速入门学习教程

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:5.63 GB |时长:5h 23m 从 ...

  6. Python 程序设计快速入门简易教程

    Python 程序设计快速入门简易教程 Python语言快速检索 一些需要知道的事 一个简单的Python程序 Python的基本数据类型 Python的基本运算符 Python的常用函数 impor ...

  7. bfc是什么_一次弄懂css的BFC

    前言 BFC在css的学习中是重要的但不易理解的概念,BFC也牵扯了很多其他问题,如浮动.定位.盒模型等,因此弄懂BFC是很有必要的.本文对BFC进行总结,希望对你有所帮助. BFC是什么? 先看看M ...

  8. sizebox模型下载_彻底弄懂CSS盒模型BoxModel

    前言 假如你想尝试一下不用表格来排版网页,而是用CSS来排版你的网页,也就是常听的用DIV来编排你的网页结构,又或者说你想学习网页标准设计,再或者说你的上司要你改变传统的表格排版方式,提高企业竞争力, ...

  9. css+less+scss,你只懂CSS?做前端你还要会 Less、Sass或Stylus

    网站前端开发,CSS是必备的知识,但随着WEB项目越来越大,CSS的预处理越来越重要. 为什么需要CSS的预处理? CSS 是一门非程序式语言,没有变量.函数.SCOPE(作用域)等,要维护我们的CS ...

最新文章

  1. GNU make 和 makefile
  2. Windows进程与线程学习笔记(一)—— 进程结构体
  3. 【LeetCode笔记】46. 全排列(Java、DFS回溯、队列)
  4. Gartner最新数据报告 WP系统仅剩1%
  5. Windows Server 2003证书服务配置与管理
  6. 斗鱼的sidebar的实现简陋的demo
  7. 学习Web前端,前景无限光明?
  8. 【重点】剑指offer——面试题62:序列化二叉树
  9. 做系统ghost步骤图解_两台电脑硬盘对拷图解
  10. 为软件生成授权的唯一代码 CPUID+主板ID+内存ID
  11. fatal: unable to access ‘‘xxx‘ : Faile to connect to github.com port 443: vscode提交到github 443错误 有梯子
  12. PHP文件向sqlite3数据库插入数据,出现UNIQUE constraint failed异常
  13. 史上最全的oracle常用知识总结
  14. CAD等分不显示等分点
  15. 出现Ncat: bind to 0.0.0.0:9999: Address already in use. QUITTING.如何解决?
  16. 左联接、右联接、内联接、自然联接
  17. 计算机学渣和你说说从毕业到工作
  18. 慢扫描电视 SSTV
  19. 用C#.NET 与Webdriver写的抓取网页信息的小工具
  20. 【LOJ】#2289. 「THUWC 2017」在美妙的数学王国中畅游

热门文章

  1. OpenCV 2.4.9-2.4.13各个版本附加依赖项Lib文件汇总
  2. C++中模板template typename T
  3. 强化学习(六) - 连续空间中的强化学习(RL in Continuous Spaces)及相关实例
  4. 如何优雅地保留两位有效数字,又规避末尾出现多余的“0”?
  5. Ubuntu 12.04 64位上安装Wine QQ2013
  6. Blender创建三维教室场景学习教程 3D Classroom Environment Creation in Blender
  7. Blender和Substance Painter制作科幻装甲视频教程
  8. 第八章 泛型程序设计
  9. 【代码笔记】Web-CSS-CSS id和Class选择器
  10. win7上Docker使用