`

用css网站布局之十步实录

阅读更多
首先需要规划网站,本教程将以下图为例构建网站


其基本布局见下图:

主要由五个部分构成:

Example Source Code

1.Main Navigation 导航条,具有按钮特效。 Width: 760px Height: 50px
2.Header 网站头部图标,包含网站的logo和站名。 Width: 760px Height: 150px
3.Content 网站的主要内容。 Width: 480px Height: Changes depending on content
4.Sidebar 边框,一些附加信息。 Width: 280px Height: Changes depending on
5.Footer 网站底栏,包含版权信息等。 Width: 760px Height: 66px
第二步:创建html模板及文件目录等

1.创建html模板。
  代码如下:

Example Source Code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<title>CompanyName - PageName</title>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="MSSmartTagsPreventParsing" content="true" />
<meta name="description" content="Description" />
<meta name="keywords" content="Keywords" />
<meta name="author" content="Enlighten Designs" />
<style type="text/css" media="all">@import "css/master.css";</style>
</head>
<body>
</body>
</html>
  将其保存为index.html,并创建文件夹css,images,网站结构如下


2.创建网站的大框:
  建立一个宽760px的盒子,它将包含网站的所有元素。
  在html文件的<body>和</body>之间写入

Example Source Code

]<div id="page-container">
Hello world.
</div>
  创建css文件,命名为master.css,保存在/css/文件夹下。写入:

Example Source Code

#page-container {
width: 760px;
background: red;
}
  控制html的id为page-container的盒子的宽为760px,背景为红色。

  现在为了让盒子居中,写入margin: auto;,使css文件为:

Example Source Code

]#page-container {
width: 760px;
margin: auto;
background: red;
}
  现在你可以看到盒子和浏览器的顶端有8px宽的空隙。这是由于浏览器的默认的填充和边界造成的。消除这个空隙,就需要在css文件中写入:

Example Source Code

html, body {
margin: 0;
padding: 0;
}

第三步:将网站分为五个div,网页基本布局的基础:

1.将“第一步”提到的五个部分都放入盒子中,在html文件中写入:

Example Source Code

<div id="page-container">
<div id="main-nav">Main Nav</div>
<div id="header">Header</div>
<div id="sidebar-a">Sidebar A</div>
<div id="content">Content</div>
<div id="footer">Footer</div>
</div>
2.为了将五个部分区分开来,我们将这五个部分用不同的背景颜色标示出来,在css文件写入:

Example Source Code

#main-nav {
background: red;
height: 50px;
}
#header {
background: blue;
height: 150px;
}
#sidebar-a {
background: darkgreen;
}
#content {
background: green;
}
#footer {
background: orange;
height: 66px;
}



第四步:网页布局与div浮动等

1.浮动:首先让边框浮动到主要内容的右边。用css控制浮动。

Example Source Code

#sidebar-a {
float: right;
width: 280px;
background: darkgreen;
}



2.往主要内容的盒子中写入一些文字。在html文件中写入:

Example Source Code

<div id="content">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam gravida enim ut risus.
Praesent sapien purus, ultrices a, varius ac, suscipit ut, enim. Maecenas in lectus.
Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus
euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio.
Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget,
purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst.
</div>



但是你可以看到主要内容的盒子占据了整个page-container的宽度,我们需要将#content的右边界设为280px。以使其不和边框发生冲突。
  css代码如下:

Example Source Code

#content {
margin-right: 280px;
background: green;
}
  同时往边框里写入一些文字。在html文件中写入:

Example Source Code

<div id="sidebar-a">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam gravida enim ut risus.
Praesent sapien purus, ultrices a, varius ac, suscipit ut, enim. Maecenas in lectus.
Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus
euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio.
Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget,
purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst.
</div>
  表现如下:


这也不是我们想要的,网站的底框跑到边框的下边去了。这是由于我们将边框向右浮动,由于是浮动,所以可以理解为它位于整个盒子之上的另一层。因此,底框和内容盒子对齐了。
  因此我们往css中写入:

Example Source Code

#footer {
clear: both;
background: orange;
height: 66px;
}
  表现如下:


第五步:网页主要框架之外的附加结构的布局与表现

  除网页主要框架之外的附加结构的表现(Layout),包括以下内容:
  1.主导航条;
  2.标题(heading),包括网站名和内容标题;
  3.内容;
  4.页脚信息,包括版权,认证,副导航条(可选)。

  加入这些结构时,为了不破坏原有框架,我们需要在css文件"body"标签(TAG)下加入:
CODE:

.hidden {
display: none;
}

  ".hidden"即我们加入的类(class),这个类可以使页面上任意属于hidden类的元素(element)不显示。这些会在稍后使用,现在请暂时忘记它。

现在我们加入标题(heading):
  先回到HTML的代码,<h1>到<h6>是我们常用的html标题代码。比如我们一般用<h1>网站名</h1>,<h2>网站副标题</h2>,<h3>内容主标题</h3>等。我们往 html文件的Header层(Div)加入:
CODE:

<div id="header">
<h1>Enlighten Designs</h1>
</div>

  刷新一下页面,你就可以看到巨大的标题,和标题周围的空白,这是因为<h1>>标签的默认大小和边距(margin)造成的,先要消除这些空白,需要加入:

CODE:

h1 {
margin: 0;
padding: 0;
}

接下来是导航条:
  控制导航条表现的css代码相对比较复杂,我们将在第九步或是第十步中详细介绍。现在html文件加入导航代码:
CODE:

<div id="main-nav">
<ul>
<li id="about"><a href="http://css.jorux.com/wp-admin/post.php#" >About</a></li>
<li id="services"><a href="http://css.jorux.com/wp-admin/post.php#" >Services</a></li>
<li id="portfolio"><a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a></li>
<li id="contact"><a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a></li>
</ul>
</div>

  (注:原教程使用了dl和dt,jorux在这使用了更常用的ul和li标签)
  目前导航条的表现比较糟糕,但是要在以后的教程中介绍其特殊表现,故需要暂时隐藏导航条,于是加入:
CODE:

<div id="main-nav">
<dl class="hidden">
<dt id="about"><a href="http://css.jorux.com/wp-admin/post.php#" >About</a></dt>
<dt id="services"><a href="http://css.jorux.com/wp-admin/post.php#" >Services</a></dt>
<dt id="portfolio"><a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a></dt>
<dt id="contact"><a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a></dt>
</dl>
</div>
第六步:页面内的基本文本的样式(css)设置

  你是不是厌倦了那些大红大绿的背景,现在是去掉它们的时候了,只保留导航条的红色背景。真是难为您居然能坚持学习本教程到此,很好,再过几步,你就能很好了解css控制整个网页版面(Layout)的能力。
  先设置全局的文本样式:

div css xhtml xml Example Source Code Example Source Code [www.136z.com]body {
font-family: Arial, Helvetica, Verdana, Sans-serif;
font-size: 12px;
color: #666666;
background: #ffffff;
}
  一般我们把body标签放在css文件的顶端,当然你要是执意要把它放在尾部,浏览器不会和你计较。font-family内的顺序决定字体显示优先级,比方如果所在计算机没有Arial字体,浏览器就会指向Helvetica字体,依次类推;color指字体颜色;background指背景颜色。
  如果你都是按本教程的操作,应该能看到下图:


 你可以看到内容(content)的各块(block)之间的间隙太小了,而基于最初的设计,内容标题(即<h2>)和正文之间的间隙大概是15px,每个段落的间距也大概是15px,所以在css中写入:

div css xhtml xml Example Source Code Example Source Code [www.136z.com]#content h2 {
margin: 0;
padding: 0;
padding-bottom: 15px;
}
#content p {
margin: 0;
padding: 0;
padding-bottom: 15px;
}
  然后需要让content层的四周都空出25px的间隙,这本来是件很简单的事,理论上我们只需在#content的css文件中加入 padding: 25px;就行了,但是IE给我们上了"一课",它的固有BUG根本不能按我们的想象表现。解决这个问题有两种办法。第一种办法是区别浏览器写入两种代码(HACK IE),但因为间隙(padding,在Dreamweaver中又叫填充)使用很频繁,所以我们用另一种办法。
  我们往需要填充的层中加入padding层,它的功能仅限于显示间隙:

div css xhtml xml Example Source Code Example Source Code [www.136z.com]<div id="sidebar-a">
<div class="padding">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam gravida enim ut risus.
Praesent sapien purus, ultrices a, varius ac, suscipit ut, enim. Maecenas in lectus.
Donec in sapien in nibh rutrum gravida. Sed ut mauris. Fusce malesuada enim vitae lacus
euismod vulputate. Nullam rhoncus mauris ac metus. Maecenas vulputate aliquam odio.
Duis scelerisque justo a pede. Nam augue lorem, semper at, porta eget, placerat eget,
purus. Suspendisse mattis nunc vestibulum ligula. In hac habitasse platea dictumst.
</div>
</div>
  同样的,再往html文件的content层中加入padding层。
  由于padding层的功能仅是制造空隙,所以不要设置它的宽度,只需在css中添加:

div css xhtml xml Example Source Code Example Source Code [www.136z.com]#sidebar-a {
float: right;
width: 280px;
}
#sidebar-a .padding {
padding: 25px;
}
#content {
margin-right: 280px;
}
#content .padding {
padding: 25px;
}
  就像我们之前用的方法一样,我们只选择了类(class)为padding,且父类(parent)为#content或#sidebar-a的元素(element)。
  接下来设置行距,content和sidebar-a的行距需要加宽,但在css中是没有行距(leading)这种属性(attribute)的,但是有行高(line-height)属性,因此往css中写入:

div css xhtml xml Example Source Code Example Source Code [www.136z.com]#sidebar-a {
float: right;
  • 大小: 34.8 KB
  • 大小: 21.6 KB
  • 大小: 2.6 KB
  • 大小: 5.9 KB
  • 大小: 5.7 KB
  • 大小: 13.9 KB
  • 大小: 20.2 KB
  • 大小: 20.7 KB
  • 大小: 21.5 KB
分享到:
评论

相关推荐

    用CSS网站布局之十步实录

    "用CSS网站布局之十步实录" 提供了一套详细的指南,帮助初学者和有经验的开发者更好地掌握CSS布局技巧。以下是对这个主题的详细解析: 1. **理解CSS基础**:首先,你需要了解CSS的基本语法,包括选择器(如类选择器...

    用css网站布局之十步实录.doc

    本文档“用css网站布局之十步实录.doc”提供了一个逐步指南,教初学者如何使用CSS来构建一个标准的网站布局。以下是该教程的关键知识点: 1. **网站规划**: 在开始布局之前,首先需要规划网站的结构。教程以一个...

    用css网站布局之十步实录.pdf

    根据提供的文件内容,可以看出这是一份关于使用CSS进行网站布局的指南,教程分为十个步骤详细介绍了从网站规划到解决浏览器兼容问题的整个过程。下面将详细解释每个步骤所包含的知识点: 第一步:规划网站 在开始...

    大数据处理领域:Elasticsearch的高级应用及优化技巧

    内容概要:Elasticsearch是一款强大且灵活的搜索和数据分析工具。文中介绍了其核心技术如分布式存储、实时搜索、全文检索、数据分析等。通过对基础概念的学习,如索引、文档、类型、映射的理解,结合实战案例解析,重点展示了Elasticsearch在电商业务商品搜索引擎构建以及高效日志管理系统部署方面的实际运用方法和技术细节。此外,围绕性能优化展开了讨论,强调了诸如合理的分片和副本配置、有效运用内部缓存机制和精心规划集群资源配置等一系列措施的重要性。 适合人群:从事IT行业的中级及以上技术水平从业者,尤其是那些负责大数据处理、分布式系统的架构师及工程师。 使用场景及目标:①希望掌握利用Elasticsearch快速实现高效的搜索与分析应用的方法论和技术路径;②旨在通过实例学习到针对不同应用场景(如电商网站、日志分析)如何正确配置系统参数、优化集群表现,进而达成更好的用户体验或运营效率;③寻求提升系统稳定性、可靠性并解决可能出现的问题。 其他说明:本文不仅仅讲述了理论知识,还有详实的具体操作指南,帮助读者在实践中深入理解Elasticsearch的能力,并鼓励他们在自己的项目中积极探索更

    基于Matlab的双三方演化博弈与Lotka-Volterra模型稳定点分析、相位图绘制与仿真代码实现,基于Matlab的双三方演化博弈与Lotka-Volterra模型:稳定点分析、相位图绘制与仿真

    基于Matlab的双三方演化博弈与Lotka-Volterra模型稳定点分析、相位图绘制与仿真代码实现,基于Matlab的双三方演化博弈与Lotka-Volterra模型:稳定点分析、相位图绘制与仿真代码实践,matlab:双或三方演化博弈,lotka-Volterra 1.双方演化博弈:代分析稳定点分析,代绘制相位图,matlab仿真图代码 2.三方演化博弈:代分析稳定点分析,代绘制相位图,matlab仿真图代码3.lotka-Volterra模型 ,核心关键词:Matlab; 双或三方演化博弈; 稳定点分析; 相位图; 仿真图代码; Lotka-Volterra模型,MATLAB仿真:双三方演化博弈与Lotka-Volterra模型的稳定点分析与相位图绘制

    基于词袋模型及神经网络的文本分类算法新版源码+说明+数据

    【资源介绍】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,也可以作为小白实战演练和初期项目立项演示的重要参考借鉴资料。 3、本资源作为“学习资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研和多多调试实践。 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip 基于词袋模型及神经网络的文本分类算法新版源码+说明+数据.zip

    【车间调度】基于matlab人工蜂群算法ABC求解分布式置换流水车间调度DPFSP【含Matlab源码 6166期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【多普勒雷达】基于matlab风力涡轮机多普勒雷达仿真模型【含Matlab源码 9813期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    COMSOL模拟放电电极击穿空气过程:电场分布与击穿间隙电压计算分析,COMSOL模拟放电电极击穿空气过程:电场分布与击穿间隙电压计算分析,comsol放电电极击穿空气模拟,计算击穿间隙的电压,周围附

    COMSOL模拟放电电极击穿空气过程:电场分布与击穿间隙电压计算分析,COMSOL模拟放电电极击穿空气过程:电场分布与击穿间隙电压计算分析,comsol放电电极击穿空气模拟,计算击穿间隙的电压,周围附近的电场 ,关键词:COMSOL放电电极;击穿空气模拟;计算;击穿间隙电压;周围附近电场;电场分布。,COMSOL模拟放电电极击穿空气过程,计算电压与电场分布分析

    高压柔性输电系统:6脉冲与12脉冲晶闸管控制的HVDC仿真模型详细说明文档,高压柔性输电系统:6脉冲与12脉冲晶闸管控制的HVDC仿真模型详解说明文档,高压柔性输电系统6脉冲,12脉冲晶闸管控制HVD

    高压柔性输电系统:6脉冲与12脉冲晶闸管控制的HVDC仿真模型详细说明文档,高压柔性输电系统:6脉冲与12脉冲晶闸管控制的HVDC仿真模型详解说明文档,高压柔性输电系统6脉冲,12脉冲晶闸管控制HVDC的仿真模型,说明文档 ,高压柔性输电系统; 6脉冲HVDC; 12脉冲晶闸管控制; 仿真模型; 说明文档,高压柔性输电系统仿真模型:6/12脉冲晶闸管控制HVDC说明文档

    【故障诊断】基于matlab稀疏包络谱分析多通道数据驱动的BRB故障诊断【含Matlab源码 9922期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    通过复杂的文本对齐和运动感知一致性进行内容丰富的AIGC视频质量评估

    近年来,文本驱动的视频生成 (Brooks 等人 2024;Hunyuan 2024) 取得了显著增长。然而,评估这些文本驱动的AI生成视频带来了独特且日益严峻的挑战。这些挑战主要源于两个关键问题:(1)需要精确的视频与文本对齐,特别是在处理复杂和长文本提示时;(2)出现了一些在自然生成视频中不常见的独特失真现象,例如不规则运动模式和物体。 随着新一代视频模型的发展,这些挑战变得更加突出。这些新一代模型以 Sora (Brooks 等人 2024) 的出现为标志,在生成质量上相比以往模型有了显著提升,其特点在于丰富的细节和内容,如 Kling (快手 2024) 、Gen-3-alpha (Runway 2024) 、Vidu (圣书 2024) 等。与之前的 AIGC 视频相比,这些模型支持 更长且更复杂的文本提示(通常超过200个字符),以及更复杂的运动模式和更长的持续时间(通常超过5秒,帧率为24帧每秒) 。如图 [fig:1] 所示,这些丰富的内容对评估者的理解视频动态及其与复杂文本语义关系的能力提出了更高的要求。 为了应对这一问题,我们引入了 Conten

    B站黑马程序员第二章08-字符串的三种定义方式(个人笔记)

    在B站看黑马程序员,自学python,整理的个人笔记

    传统永磁同步电机FOC离散化Simulink模型实践指南:高效性能与传递函数离散化推导文档附赠,传统永磁同步电机FOC离散化Simulink模型实战解析及传递函数离散化推导入门指南,传统永磁同步电机的

    传统永磁同步电机FOC离散化Simulink模型实践指南:高效性能与传递函数离散化推导文档附赠,传统永磁同步电机FOC离散化Simulink模型实战解析及传递函数离散化推导入门指南,传统永磁同步电机的FOC离散化simulink模型,效果较好。 附赠传递函数离散化推导的文档,初学者可以入手。 ,传统永磁同步电机; FOC离散化; Simulink模型; 传递函数离散化; 推导文档。,FOC离散化Simulink模型:永磁同步电机高效控制与传递函数离散化解析

    创业者必备:解读DeepSeek引发的AI技术与应用革新

    内容概要:本文由360集团创始人周鸿祎撰写,深入探讨了DeepSeek这一前沿AI技术及其对各行各业所带来的巨大机遇。文中详细阐述了人工智能的发展历程,特别是大模型的演进,并指出了DeepSeek如何在技术和用户体验方面取得重大突破,引领新的工业革命,以及中国在该领域的创新和发展前景。同时介绍了如何借助DeepSeek实现具体的企业应用,涵盖知识库建设、智能体开发等多个方面的实践经验。 适用人群:针对政府机构、企业和创新创业者的高级管理层和技术领导者,旨在提供对当前AI前沿技术和未来发展策略的理解。 使用场景及目标:适用于希望通过先进技术提升竞争力的单位或个人;目的在于引导读者建立正确的AI意识,了解最新的技术动向和实施路径,为未来的战略规划打下坚实的基础。 其他说明:文档还强调了在全球范围内争夺大模型主导地位的竞争环境下,中国企业应该如何抓住机遇实现快速发展,以及如何克服现有挑战,确保安全可靠的应用。

    软件测试基础(功能测试)笔记

    APP测试基础流程

    建设工程管理数字孪生平台解决方案.docx

    建设工程管理数字孪生平台解决方案.docx

    【车间调度】基于matlab沙猫群算法SCSO求解零空闲流水车间调度问题NIFSP【含Matlab源码 7974期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    串口助手,可以调整串口接收数据大小,颜色文字。显示接收时间。

    串口助手

Global site tag (gtag.js) - Google Analytics