漫谈css布局

介绍

这个布局是基于一个截面图,然后把它转化为一个html页面,但是介绍的目的不是仅限于这一个特定的例子,而是可以用于所有以后的布局过程。

在我们开始之前,需要有几点准则指导着我们,避免我们误入歧途、走火入魔,中毒太深:

  • 每次进行一步,每一步都用一组浏览器来测试开始布局踏出第一步很容易,但是半途碰到问题并不是我们所期望的。为了避免这种情况的发生, 我们每进行一步,都要用一组浏览器来进行测试。这样你就能清楚的看到布局是如何进行的,也可以避免一些问题的出现。
  • 基于现代浏览器构建,但是也要向前兼容最好基于标准兼容的浏览器构建布局,但是也要让一些老版的浏览器兼容。
  • 校验你的HTML代码和CSS时常检验你的HTML代码和CSS,这样的话很多的布局问题就能够得到解决。

这下面这两个地址会对你有所帮助:

① WC3 HTML validator

② WC3 CSS validator

Step1.考量一下对浏览器的支持性:

在开始设计CSS布局之前,你应该想一下你要支持的浏览器或者说支持到什么程度。客户、用户、测试日志文件等可能会对你有一定的帮助。

Step2.查看容器布局

看看你的设计,想一下主要由哪些容器组成。

Step3.为容器命名

上面所说的容器将会是你的页面布局中放置内容的容器,所以你需要为他们起一个能够描述他们特征的名字,就像

  • container
  • header
  • mainnav
  • menu
  • contents
  • footer

如果这些容器对页面来说是唯一的,在标签代码中最后使用ID来表示,而不是class来标示。这在为其他元素来写样式的时候显得很 重要,因为当出现冲突时,用ID来标识的样式会重写用class来标识的代码。

Step4.开始写样式和代码

首先确定文档类型,在这里我们采用HTML4.01strict

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/
html4/strict.dtd">

然后是增加头信息和字符编码等,将外联样式命名为style.css

    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Page title</title>
    <link rel="stylesheet" href="style.css" type="text/css" media="screen">
    <!--[if IE 6]>
    <link rel="stylesheet" href="ie6.css" type="text/css" media="screen">
    <![endif]-->
    </head>

最后,加入上面我们分析好的一些元素:

    <body>
    <div id="container">
    <div id="header" title="sitename">
    <div id="skipmenu"><a href="#content">Skip to content</a></div>
    <h1>
    Sitename
    </h1>
    </div>
    <div id="mainnav">
    <ul>
    <li><a href="#">Section 1</a></li>
    <li><a href="#">Section 2</a></li>
    <li><a href="#">Section 3</a></li>
    <li><a href="#">Section 4</a></li>
    </ul>
    </div>
    <div id="menu">
    <h3>
    Archives
    </h3>
    <ul>
    <li><a href="#">December 2014</a></li>
    <li><a href="#">November 2014</a></li>
    <li><a href="#">October 2014</a></li>
    <li><a href="#">September 2014</a></li>
    <li><a href="#">August 2014</a></li>
    </ul>
    <h3>
    Last 10 Entries
    </h3>
    <ul>
    <li><a href="#">Entry 120 (4)</a></li>
    <li><a href="#">Entry 119 (0)</a></li>
    <li><a href="#">Entry 118 (9)</a></li>
    <li><a href="#">Entry 117 (3)</a></li>
    </ul>
    </div>
    <div id="contents">
    <div class="blogentry">
    <h2>
    <a href="#" title="Permanent link to this item">Heading here</a>
    </h2>
    <h3>
    Sunday, 24 August 2014
    </h3>
    <p>
    <img class="imagefloat" src="flower.jpg" alt="" width="100" height="100">
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet
     dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
     suscipit lobortis nisl ut aliquip ex ea commodo consequat. <a href="#">Duis autem vel eum</a> iriure dolor
     in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero
      eros et accumsan et iusto odio dignissim qui blandit praesent.
    </p>
    <p>
    Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
    </p>
    <ul>
    <li><a href="#">Comments (4)</a></li>
    <li><a href="#">Pingbacks (1)</a></li>
    <li>Category: <a href="#" title="Category">CSS</a></li>
    </ul>
    </div>
    </div>
    <div id="footer">
    Copyright ? <a href="http://www.wenboxz.com" target="_blank">文波の小站</a> 2014,All Rights Reserved.
    </div>
    </div>
    </body>

Step6.指定样式

    body
    {
    margin: 0;
    padding: 0;
    background: #ddd;
    }
     
    #container
    {
    margin: 1em auto;
    width: 650px;
    background: #fff;
    }
     
    #header { background: #CF3; }
    #mainnav { background: #9F3; }
     
    #menu
    {
    float: right;
    width: 165px;
    background: #6F9;
    }
     
    #contents
    {
    float: left;
    width: 440px;
    background: #9FC;
    margin: 0 0 0 20px;
    }
     
    #footer
    {
    clear: both;
    background: #FF9;
    }

Step7.最后需要进行一些细化工作

时间: 2024-10-13 02:35:51

漫谈css布局的相关文章

深度理解div+css布局嵌套盒子

1. 网页布局概述 网页布局的概念是把即将出现在网页中的所有元素进行定位,而CSS网页排版技术有别于传统的网页排版方法,它将页面首先在整体上使用<div>标记进行分块,然后对每个快进行CSS定位以及设置显示效果,最后在每个块中添加相应的内容.利用CSS排版方法更容易地控制页面每个元素的效果,更新也更容易,甚至页面的拓扑结构也可以通过修改相应的CSS属性来重新定位.  2. 盒子模型 盒子模型是CSS控制页面元素的一个重要概念,只有掌握了盒子模型,才能让CSS很好地控制页面上每一个元素,达到我们

现在主流网站为什么都用div+css布局而不是用table

由于刚刚接触前端,一直觉得table布局在代码上看起来比div+css更整洁,div+css布局的页面,一堆的<div><div><div>...</div></div></div>看起来都让人犯密集恐惧症,那么为什么现在的主流网站还都乐此不疲呢?为什么div+css反而成了一种主流布局方式呢?一直对此不解.这篇文章好像是解决了我的问题,先摘录过来,以便查阅. 以下内容摘自:http://www.divcss5.com/wenji/w

&lt;转载&gt;div+css布局教程之div+css常见布局结构定义

在使用div+css布局时,首先应该根据网页内容进行结构设计,仔细分析和规划你的页面结构,你可能得到类似这样的几块: 页面层容器.页面头部.标志和站点名称.站点导航(主菜单).主页面内容.子菜单.搜索框.页脚(版权和有关法律声明). 通常采用DIV元素来将这些结构定义出来,类似这样: <div id="Container"></div> 页面层容器 <div id="header"></div> 页面头部 <di

&lt;转载&gt;Div+Css布局教程(-)CSS必备知识

目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的高度(Height:45px;). Background:设置对象的背景颜色.背景图像. 1.背景颜色 background:#09F; 2.背景图像 background:url(file:///C|/Users/Administrator/Desktop/huipu.jpg) repeat-x;

CSS篇之DIV+CSS布局

<div></div> div与其他标签一样,也是一个XHTML所支持的标签. div是XHTML中指定的,远门用于布局设计的容器标记. 简单的CSS布局 头部 内容 页脚 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css">

css布局实践总结(part2)

一.总结: 在第一篇css布局实践心得总结中总结了通过给元素设置position:absolute的方式让元素处在BFC(块级格式化上下文)的环境中,处在BFC环境中的元素是独立的,它和外面其他元素毫无关系. 今天很兴奋的是实践到了通过将元素设置成line-block的方式让元素处在BFC的环境中,让其与外面的元素隔绝关系.还是引用这张图. 问题:如何让一个块级元素在没有采用float或position:absolute的情况下(采用这两种方式布局的元素,元素都会脱离文档流,元素大小由元素里面的

css012 css布局简介

css012  css布局简介 一.    网页布局的类型 网页布局的类型 1.固定宽度 2.流式 3.相应式web设计 二.    如何进行css布局 1.强大的<div>标签 网页的html代码数量应该尽可能减到最少,尤其是div标签的嵌套,当使用div标签有助于网页布局设计时,就很好用.但是并不是div嵌套的越多越好. 2.html5的分区元素 <div>  用于分割区域,块级元素 <span> 行内分区元素 <article> 给网页或者网页的分区提

div+css 布局经验 - 最简单的 = 最不变形的(原创技巧)

站酷几年了 一直饱受其恩泽 尤为感激 一直想奉献些什么 但是苦于水平 苦于奔波 今天静下心来 为大家奉献下 自己的div+css 经验 ,以下观点只代表 深海个人立场 希望为初学者提供一条"捷径". 希望广大网友提出宝贵意见 同时不希望将初学的您 带入走火入魔的状态! 1 :css (cascading style sheet): 初学者可以下载一本css 2.0 手册 大概48小时的时间可以看完 试完.至于样式手册上的单词(属性和取值) 多久能背完取决你的努力和英语基础,请注意 无论

一些css布局

# css布局 #---bootstrap   详情请看官方文档---首先要按照相应的官方规范引入相应的css js fonts等 container相当于一个容器 一般设置一个 接下来设置行 用row row里面套col col里面可以继续套row   row不能直接套row <div class="container">        <div class="row header">            <div class=&q