web前端学习笔记(CSS固定宽度布局)

Posted on 2013-09-29 09:12 Stephen_Liu 阅读(2443) 评论(3) 编辑 收藏

一、单列布局:

这是最简单的一种布局方式,之所以给出该示例,还是为了保证本篇博客的完整性。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>固定宽度布局</title>
<style type="text/css">
#header,#pagefooter,#content {
    border: 1px solid red;
    margin: 10px auto 10px 10px;
    padding: 5px;
    width: 360px;
}
</style>
</head>
<body>
<div id="header">
    <h2>Page Header</h2>
    <p>
        这是一行文本,这里作为样例,显示在布局框中。<br/>
        这是一行文本,这里作为样例,显示在布局框中。
    </p>
</div>
<div id="content">
    <h2>Page Content</h2>
    <p>
        这是一行文本,这里作为样例,显示在布局框中。<br />
        这是一行文本,这里作为样例,显示在布局框中。
    </p>
</div>
<div id="pagefooter">
    <h2>Page Footer</h2>
    <p>这是一行文本,这里作为样例,显示在布局框中。</p>
</div>
</body>
</html>

从CSS代码可以看到,3个div的宽度都设置为固定值360像素,同时将margin设置为margin: 10px auto 10px 10px,从而实现了右侧好像有个弹簧,将他们全部挤到左侧,反之,如果想把他们全部挤到左侧,可以将margin设置为margin: 10px 10px 10px auto。见如下效果图。

二、“1-2-1”固定宽度布局:

该布局也是经常会用到的,这里我们先给出最终的效果图,然后再给出代码,以便大家都能现有一个感官上的认识,再看code就会容易很多。


      下面为与上图匹配的HTML代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>布局固定宽度</title>
<style type="text/css">
div ,p, h2 {
    margin: 2px;
    padding: 5px;
}
#container {
    width: 612px;
    margin: 10px auto;
}
#header,#footer {
    width: 596px;
    border: 1px solid red;
}
#content {
    float: left;
    width: 360px;
    border: 1px solid red;
}
#side {
    float: left;
    width: 220px;
    border: 1px solid red;
}
#footer {
    clear: both;
}
</style>
</head>
<body>
<div id="container">
    <div id="header">
        <h2>Page Header</h2>
    </div>
    <div id="content">
        <h2>Page Content 1</h2>
        <p>对于一个网页设计者来说,HTML语言一定不会感到陌生,因为它是所有网页制作的基础。但是如果希望网页能够美观、大方,并且升级方便,维护轻松,那么仅仅HTML是不够的,CSS在这中间扮演着重要的角色。</p>
    </div>
    <div id="side">
        <h2>Side Bar 1</h2>
        <p>对于一个网页设计者来说,HTML语言一定不会感到陌生。</p>
    </div>
    <div id="footer">
        <h2>Page Footer</h2>
        <p>这是一行文本,这里作为样例,显示在布局框中。</p>
    </div>
</div>
</body>
</html>

这里需要主要关注的是CSS中#content和#side都被设置为向左浮动float: left,二者的宽度相加等于总宽度,例如这里将它们的宽度分别设置为360px和220px。本例出于方便展示的目的,添加了padding/border/margin将各个div的边界显示的分离出来,这样#content和#side每个div的实际所占宽度均为自身宽度 + (5px + 5px) + border(1px + 1px) + margin(2px + 2px)。最后需要注意的是#footer的CSS中添加了clear:both,否则如本例content的高度高于side高度,footer将会被content的底部覆盖,这是因为float为left的div没有在标准流中。如下图为#footer去掉clear:both之后的效果。

三、“1-3-1”固定宽度布局:

和上面的1-2-1固定布局一样,该布局也是经常会用到的,这里我们还是给出最终的效果图,然后再给出代码,以便大家都能现有一个感官上的认识,再看code就会容易很多。

      和上例相比,该示例在代码中只是简单的多出了一个div(#navi),其CSS中也包含float:left。剩下就是其他相关div的宽度需要重新计算,计算方式等同于1-2-1给出的公式。下面为与改图匹配的HTML代码。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>布局固定宽度</title>
<style type="text/css">
div, p, h2 {
    margin: 2px;
    padding: 5px;
}
div {
    border: 1px solid red;
}
#container {
    width: 788px;
    margin: 10px auto;
    border: 0;
}
#header,#footer {
    width: 772px;
}
#navi {
    float: left;
    width: 160px;
}
#content {
    float: left;
    width: 360px;
}
#side {
    float: left;
    width: 220px;
}
#footer {
    clear: both;
}
</style>
</head>
<body>
<div id="container">
    <div id="header">
        <h2>Page Header</h2>
    </div>
    <div id="navi">
        <h2>Navi Bar 1</h2>
        <p>对于一个网页设计者来说,HTML语言一定不会感到陌生,因为它是所有网页制作的基础。但是如果希望网页能够美观、大方,并且升级方便,维护轻松,那么仅仅HTML是不够的,CSS在这中间扮演着重要的角色。</p>
    </div>
    <div id="content">
        <h2>Page Content 1</h2>
        <p>对于一个网页设计者来说,HTML语言一定不会感到陌生,因为它是所有网页制作的基础。但是如果希望网页能够美观、大方,并且升级方便,维护轻松,那么仅仅HTML是不够的,CSS在这中间扮演着重要的角色。</p>
    </div>
    <div id="side">
        <h2>Side Bar 1</h2>
        <p>对于一个网页设计者来说,HTML语言一定不会感到陌生。</p>
    </div>
    <div id="footer">
        <h2>Page Footer</h2>
        <p>这是一行文本,这里作为样例,显示在布局框中。</p>
    </div>
</div>
</body>
</html>

四、“1-((1-2)+1)-1”固定宽度布局:

根据下面的效果图,再结合前面的示例,相信大家能够很快理解该布局的含义。

与上图匹配的代码如下,与前面一个示例相比主要的变化是加入了#left-container#right-container两个div。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>布局固定宽度</title>
<style type="text/css">
div, p, h2 {
    margin: 2px;
    padding: 5px;
}
div {
    border: 1px solid red;
}
#container {
    width: 788px;
    margin: 10px auto;
    border: 0;
}
#header,#footer {
    width: 772px;
}
#left-container {
    float: left;
    width: 552px;
}
#navi {
    float: left;
    width: 160px;
}
#content {
    float: left;
    width: 360px;
}
#right-container {
    float: left;
    width: 204px;
}
#side {
    width: 188px;
}
#footer {
    clear: both;
}
</style>
</head>
<body>
<div id="container">
    <div id="header">
        <h2>Page Header</h2>
    </div>
    <div id="left-container">
        <div id="banner">
            <h2>Banner</h2>
            <p>对于一个网页设计者来说,HTML语言一定不会感到陌生,因为它是所有网页制作的基础。但是如果希望网页能够美观、大方,并且升级方便,维护轻松,那么仅仅HTML是不够的,CSS在这中间扮演着重要的角色。</p>
        </div><!-- end of banner -->
        <div id="navi">
            <h2>Navi Bar 1</h2>
            <p>对于一个网页设计者来说,HTML语言一定不会感到陌生,因为它是所有网页制作的基础。但是如果希望网页能够美观、大方,并且升级方便,维护轻松,那么仅仅HTML是不够的,CSS在这中间扮演着重要的角色。</p>
        </div>
        <div id="content">
            <h2>Page Content 1</h2>
            <p>对于一个网页设计者来说,HTML语言一定不会感到陌生,因为它是所有网页制作的基础。但是如果希望网页能够美观、大方,并且升级方便,维护轻松,那么仅仅HTML是不够的,CSS在这中间扮演着重要的角色。</p>
        </div>
    </div><!-- end of left container -->
    <div id="right-container">
        <div id="side">
            <h2>Side Bar 1</h2>
            <p>对于一个网页设计者来说,HTML语言一定不会感到陌生。</p>
        </div>
        <div id="side">
            <h2>Side Bar 2</h2>
            <p>对于一个网页设计者来说,HTML语言一定不会感到陌生。</p>
        </div>
    </div><!-- end of right container -->
    <div id="footer">
        <h2>Page Footer</h2>
        <p>这是一行文本,这里作为样例,显示在布局框中。</p>
    </div>
</div>
</body>
</html>

注:该篇博客源自《CSS设计彻底研究》中的第十三章,书中的例子简明扼要、通俗易懂,因此选取部分主要内容与大家分享,同时也便于今后自己的在线查阅。

时间: 2024-12-29 21:22:11

web前端学习笔记(CSS固定宽度布局)的相关文章

web前端学习笔记(CSS变化宽度布局)

Posted on 2013-09-30 09:03 Stephen_Liu 阅读(2406) 评论(6) 编辑 收藏 一.“1-2-1”单列变宽布局: 对于变宽度的布局,首先要使内容的整体宽度随浏览器窗口宽度的变化而变化.因此中间的container容器中的左右两列的总宽度也会变化,这样就会产生不同的情况.这两列是按照一定的比例同时变化,还是一列固定,另一列变化.这两种都是很常用的布局方式.然而对于等比方式而言,相对比较简单,和我上一篇博客中1-2-1的布局方式非常类似,因此这里只是介绍一列固

web前端学习笔记(CSS盒子的浮动)

Posted on 2013-09-18 09:00 Stephen_Liu 阅读(2205) 评论(6) 编辑 收藏 在标准流中,一个块级元素在水平方向会自动伸展,直到包含它的元素的边界:而在竖直方向和兄弟元素依次排列,不能并排.使用“浮动”方式后,块级元素的表现就会有所不同.      CSS中有一个float属性,默认为none,也就是标准流通常的情况.如果将float属性的值设置为left或right,元素就会向其父元素的左侧或右侧靠紧,同时默认情况下,盒子的宽度不在伸展,而是根据盒子里

Web前端学习笔记(001)

....编号    ........类别    ............条目  ................明细....................时间 一.Web前端学习笔记                                    2016年6月15日10:38:53    /****************************************************************begin******************************

WEB前端学习笔记 一

最近时间比较充裕,整理了一下学习过的笔记,此篇笔记包含了:Html.Css.JavaScript.Jquery.以及使用帝国CMS或是织梦CMS建立自己的网站,也许也会整理一下PHP的笔记,如果时间允许会整理完全. 虽然笔记是从最基础的开始,但是,并不包含电脑的基础知识,所以你必须已经掌握了一些电脑的基本操作,比如开关机,你的电脑用的是什么操作系统,至少也要会用word和wps吧.浏览器是做什么的,什么拷贝.复制.粘贴.知道最基本的文件类型,如,文本文件,视频文件,图片文件,什么是可执行文件,分

WEB前端学习笔记 五

接web前端学习笔记第四篇,此篇为web学习笔记 五,在此感谢您的采集和转发,但请注明文章出自网知博学. 2.0.3  html标签的属性格式 现在我们知道了两个双标签分别是,标题标签:<h1> - <h6>.和段落标签:<p></p>还知道了一个换行的单标签:<br />,现在我们给<p></p>标签添加一个属性,来改变段落是右对齐,还是左对齐,还是居中. 如上图,<p>标签中的 align(中文就是排列的意

WEB前端学习笔记 四

接上一篇,web学习笔记 四,在此感谢您对此篇笔记的认可,但转发时请注明文章出自网知博学. 2.0  html的语法格式 html的标签要写在尖括号中 :<> 在在英文输入法状态下,按住shift键然后再按它左侧的尖括号就可了, 先学习一个简单的h1标签,是个标题标签,在html中这样写: <h1>我在h1标签中,我就是标题</h1> 那么h1标签中所包裹的文字,就标记成标题了.通过浏览器的解析后在页面上显示出来的效果就是字体加粗,加黑,和word中的标题性质一样! 大

web前端学习笔记:文本属性

今天的web前端笔记主要讲述文本属性,希望能帮助到正在学习web前端开发的初学者们,废话不多说了,一起来看看文本属性的相关内容吧. 文本属性 文本缩进 将Web页面上的一个段落第一行缩进,这是一种最常用的文本格式化效果.有的网站在段落的第一个字母前放一个很小的透明图像,这些图像将文本推到后面来制造一种缩进文本的感觉.另外一些网站则使用完全标准的空格(spacer)标记.而在CSS中有一种更好地方法实现文本缩进.那就是text-indent属性. 通过使用text-indent属性,所有元素的第一

WEB前端学习笔记 三

接上一篇,web学习笔记 二,web学习笔记刚刚发出,就发现被其他网站采集了,在此感谢您的采集和转发,但请注明文章出自网知博学. 1.7  开发工具的选择 增强文本编辑器:EditPlus.Notepad++ 特点:比较小.占用系统资源比较少.代码颜色高亮显示.但没有代码自动补功能 IDE:(Integrated Development Environment,集成开发环境).IDE集成开发环境(简称IDE)开发环境就是指在开发软件的时候需要用到的软件.这些软件包括代码编辑器.编译器.调试工具和

WEB前端学习笔记 二

1.4  JavaScript和Jquery能做什么? JavaScript是Netscape公司开发的一种基于对象和事件驱动的脚本语言 ,并且可在所有主要的浏览器中运行 IE.Firefox.Chorme.Opera ,JavaScript 可用来向 HTML 页面添加交互行为,如表单数据合法性验证.网页特效.动画效果.数值计算,例如你现在浏览的网知博学的首页面上的图片循环播放和导航分类,淘宝和京东的商品分类菜单等.JavaScript 是一种弱类型语言,无需编译,可由浏览器直接解释运行 特点