加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索
背景:
阅读内容  领跑条码、标签打印软件 | 来电弹出客户资料

十步教你学会用CSS建站的CSS实例教程

[日期:2011-11-28] 作者: 来源: [字体: ]

对于初学者提起用CSS建站是个挑战,其实也不是那么的困难,本文就是教你用十步学会CSS建站的CSS实例教程

本教程主要参考Creating a CSS Layout from scratch,由Jorux翻译,以意译为主,其间加入了不少Jorux的个人观点,省略了一些多余的说明,请读者明鉴。

目录:

  • 第一步:规划网站,本教程将以图示为例构建网站;
  • 第二步:创建HTML模板及文件目录等;
  • 第三步:将网站分为五个div,网页基本布局的基础;
  • 第四步:网页布局与div浮动等;
  • 第五步:网页主要框架之外的附加结构的布局与表现;
  • 第六步:页面内的基本文本的样式(css)设置;
  • 第七步:网站头部图标与LOGO部分的设计;
  • 第八步:页脚信息(版权等)的表现设置;
  • 第九步:导航条的制作(较难);
  • 第十步:解决ie浏览器的显示bug;

    第一步:规划网站,本教程将以图示为例构建网站

    1.规划网站,本教程将以下图为例构建网站。

    其基本布局见下图:

    CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网

    主要由五个部分构成:

    CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网

    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模板。代码如下:

<!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,网站结构如下:
 

CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网

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

<div id="page-container">
Hello world.
</div>

创建css文件,命名为master.css,保存在/css/文件夹下。写入:
 

#page-container {
width: 760px;
background: red;
}

控制html的id为page-container的盒子的宽为760px,背景为红色。表现如下:
CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网
现在为了让盒子居中,写入margin: auto;,使css文件为:
 

#page-container {
width: 760px;
margin: auto;
background: red;
}

现在你可以看到盒子和浏览器的顶端有8px宽的空隙。这是由于浏览器的默认的填充和边界造成的。消除这个空隙,就需要在css文件中写入:
 

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

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

 

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

<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>

表现如下:
CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网
2.为了将五个部分区分开来,我们将这五个部分用不同的背景颜色标示出来,在css文件写入:
 

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

表现如下:
CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网

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

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

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

表现如下:
CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网

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

<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>

表现如下:
CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网
但是你可以看到主要内容的盒子占据了整个page-container的宽度,我们需要将#content的右边界设为280px。以使其不和边框发生冲突。
css代码如下:
 

#content {
margin-right: 280px;
background: green;
}

同时往边框里写入一些文字。在html文件中写入:
 

<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实例教程:十步学会用CSS建站,PS教程,思缘教程网
这也不是我们想要的,网站的底框跑到边框的下边去了。这是由于我们将边框向右浮动,由于是浮动,所以可以理解为它位于整个盒子之上的另一层。因此,底框和内容盒子对齐了。
因此我们往css中写入:
 

#footer {
clear: both;
background: orange;
height: 66px;
}

表现如下:
CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网

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

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

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

.hidden {
display: none;
}

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

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

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

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

h1 {
margin: 0;
padding: 0;
}

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

<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标签)
目前导航条的表现比较糟糕,但是要在以后的教程中介绍其特殊表现,故需要暂时隐藏导航条,于是加入:
 

<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>

我们跳一步,先到页脚:
页脚包括两部分:左边的版权,认证和右边的副导航条。
我们先要让副导航条向右浮动,就像之前处理Sidebar和Content关系的一样,需要加入一个新的层(div):
 

<div id="footer">
<div id="altnav">
<a href="http://css.jorux.com/wp-admin/post.php#" >About</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Services</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Terms of Trade</a>
</div>

</div>

理论上,我们可以控制源文件上的任意元素的浮动,但由于IE浏览器的BUG,被浮动层需要首先出现在源文件上,也就是说我们把副标题放在版权和认证的前面:
 

<div id="footer">
<div id="altnav">
<a href="http://css.jorux.com/wp-admin/post.php#" >About</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Services</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Portfolio</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Contact Us</a> -
<a href="http://css.jorux.com/wp-admin/post.php#" >Terms of Trade</a>
</div>
Copyright &copy; Enlighten Designs
Powered by <a href="http://www.enlightenhosting.com/" >Enlighten Hosting</a> and
<a href="http://www.vadmin.co.nz/" >Vadmin 3.0 CMS</a>
</div>

刷新你的页面,你将看到如下所示(点击看大图):
CSS实例教程:十步学会用CSS建站,PS教程,思缘教程网

最后我们回到内容部分:用<h2<>表现内容标题–"About","Contact us";用<p>表现段落;用</br>断行。
 

<div id="content">
<h2>About</h2>
<p><strong>Enlighten Designs</strong> is an Internet solutions provider that specialises in
front and back end development. To view some of the web sites we have created view our
portfolio.</p>
<p>We are currently undergoing a 'face lift', so if you have any questions or would
like more information about the services we provide please feel free to contact us.</p>
<h2>Contact Us</h2>
<p>Phone: (07) 853 6060<br />
Fax: (07) 853 6060<br />
Email: <a href="mailto:info@enlighten.co.nz" >info@enlighten.co.nz</a><br />
P.O Box: 14159, Hamilton, New Zealand</p>
<p><a href="http://css.jorux.com/wp-admin/post.php#" >More contact information…</a></p>

</div>

刷新页面可以看到在Content层中又出现一些空白,这是由于<h2><p>标签的默认边距(margin)造成的,我们必须消除这些恼人的空白,当又不想把网页中所有的<h2><p>标签地边距都设为0,这就需要使用css的子选择器("child css selector"),在html的文件结构中,我们想控制的<h2><p>标签(child)是属于#content层(parent)的,因此在css文件中写入:
 

#content h2 {
margin: 0;
padding: 0;
}
#content p {
margin: 0;
padding: 0;
}

这样我们就告诉浏览器,仅仅是隶属于content层的<h2><p>标签的margin和padding的值为0!
 

关键词:

收藏 推荐 打印 | 录入:xiaolingdang | 阅读:
本文评论   查看全部评论 (7)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 7 楼
* 匿名 发表于 2013/4/15 17:57:22
不错 很受用
第 6 楼
* 匿名 发表于 2013/4/12 19:09:49
回复 匿名 的评论
最后根据body标签的类进行变换,是怎么修改body标签的类呢?
将html中的<body>依次轮流改为:<body class="about">或<body class="services">或<body class="portfolio">或<body class="contact">就可以看出效果,可惜我一次只能显示一种效果,楼主说的“然后用超级链接将这些网页连接起来,就组成了一个小网站了。”我就不懂了,求助大虾..感激...
第 5 楼
* 匿名 发表于 2013/4/12 19:08:37
回复 匿名 的评论
最后根据body标签的类进行变换,是怎么修改body标签的类呢?
将html中的<body>依次轮流改为:<body class="about">或<body class="services">或<body class="portfolio">或<body class="contact">就可以看出效果,可惜我一次只能显示一种效果,楼主说的“然后用超级链接将这些网页连接起来,就组成了一个小网站了。”
第 4 楼
* 匿名 发表于 2013/3/20 13:55:25
回复 匿名 的评论
写得真好!
额,原来是根据不同页面中body标签的类进行变换的-_-!
第 3 楼
* 匿名 发表于 2013/3/20 13:51:24
最后根据body标签的类进行变换,是怎么修改body标签的类呢?