博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
还在为CSS布局发愁?你该看看这7条原则
阅读量:5015 次
发布时间:2019-06-12

本文共 6412 字,大约阅读时间需要 21 分钟。

一、网页结构分析七条原则

这以下7个原则是经过多年网站实战经验之后的总结,只要掌握这7个原则,可以解决大部分在编写网站布局中的问题

1、先结构后样式.

2、能用CSS表现出来的效果,就尽量少用图像.

3、切图之前一定要认真的去分析页面效果图.

4、尽量使用最简单的网页结构.

5、大结构可以用id,内部结构用class.

6、定位:相对定位+绝对定位.

7、给容器设置内边距或外边距或者边框,对应容器的宽度一定要减去相应的宽度或高度.

二、网页结构总体结构划分

大部分网页结构都可以划分为以下五个部分:

1、header 头部区域。

2、nav  导航区域。

3、banner 广告区域。

4、content 内容页区域。

5、footer 底部导航区域。

三、HTML+CSS 结构分析

css 全局样式设置

网页背景宽为:2000px;内容宽度为:980px;网页里重用的字体为宋体,字号为12px 标题字为14px 或 16px;

header 区域:

效果:

解析:

1.header 中只要设置一张Logo,可设置一个div标签.这里布局可设置Padding值:Logo 离左边距 10像素,顶部20px; height= 119-20=99 像素. width:980-5=975像素.

代码:

/*header*/
#header{width:975px; height:99px; margin:0 auto; padding:20px 0 0 5px;}
html:
<div id="header"><a href="#"><img src="images/logo.gif" width="168" height="76" alt="绿色食品网" /></a></div>

nav 区域:

结构分析:

导航结构可按左中右进行划分;左边和右边切一个小块 width:17px; height:58px;填充背景,不平铺.中间的导航宽度为 width:980-17*2 = width:946px 使用背景填充平铺水平方向. 切出导航分割线,作为li 标签有中间平铺。li 的宽度 为 946/9 = 105, height 为分割线的高度; 去掉最右边的分割线,单独给li设置样式,无背景.

css 代码:

1 /*nav*/2 #nav{width:980px; height:58px; margin:0 auto;}3 .navLeft{display:block; width:17px; height:58px; float:left; background:url(../images/navLeft.jpg) no-repeat;}4 .navCenter{width:946px; height:52px; padding-top:6px; float:left; background:url(../images/navBg.jpg) repeat-x;}5 .navCenter li{width:105px; height:31px; line-height:31px; float:left; text-align:center; background:url(../images/navLine.jpg) no-repeat right center;}6 .navCenter a:link,.navCenter a:visited{font-size:14px; color:#fff; text-decoration:none; font-weight:bold;}7 .navCenter a:hover{text-decoration:underline;}8 .navCenter li.noBg{background:none;}9 .navRight{display:block; width:17px; height:58px; float:left; background:url(../images/navRight.jpg) no-repeat;}
html:

banner 广告区域 

结构分析:

在一个div容器中,容器中只有一张图片布局, 可以设置容器的内边距padding:来调整图片的位置. 

效果:

css:

/*banner*/
#banner{width:980px; height:382px; margin:0 auto; padding-top:3px;}

html:

<div id="banner"><img src="images/banner.jpg" width="980" height="382" /></div>

content 内容页区域

效果:

结构分析:

这个内容结构可以划分为上下结构,

上面结构可以使用ul li 来布局; ul li 使用单独样式 conTop,避免和网站其他ul li结构产生冲突, 给conTop 设置padding-left:10px;  width=980-10=970; li 的 宽度: 970-7*3-12=211;li 标签里面的结构使用: h2 和 p 标签; 

下面部分结构分析:

下部分内容采用 ul li 来划分结构, 将样式命名为 conBot , 在conBot 中可以划分为左中右结构,conBotL,conBotC

在conBotL 块中: 结构分为上下结构,上面部分放H2标签 和 更多图片的链接(span标签),span标签采用相对定位. 定位=相对定位+绝对定位;下面部分采用 dl,dt,dd 标签; 

在 conBotC 块中:结构分为上下结构,上面部分采用H2标签,span标签进行相对定位。

下面的样式设置 ul,li 结构:  图片和底部文字单独设置样式。

在 conBotR 块中: 结构分为上下结构,上面部分放H2标签 和 更多图片的链接(span标签),span标签采用相对定位;下面采用一个P标签.

css:

/*content*/#content{
width:980px; overflow:hidden; margin:8px auto 0; background:url(../images/content_bg.jpg) no-repeat #fff; padding-top:9px;}.conTop{
width:970px; height:92px; border-bottom:1px solid #E0E0E0; padding-left:10px;}.conTop li{
width:211px; height:73px; background:url(../images/li_bg.jpg) no-repeat; float:left; margin-right:7px; padding:10px 12px 0;}.conTop p{
color:#9d9d9d; padding-left:38px; line-height:18px;}.conBot{
width:980px; height:209px; background:url(../images/content_bg1.jpg) repeat-x left bottom;}.conBotL{
width:302px; height:199px; float:left; background:url(../images/line_bg.jpg) no-repeat right top; padding:10px 10px 0;}.conBotL h2{
height:38px; position:relative;}.conBotL span{
display:block; width:35px; height:20px; position:absolute; right:0; top:10px;}.conBotL dl{
height:135px; margin-top:22px;}.conBotL dt{
width:100px; height:135px; float:left;}.conBotL dl img{
width:94px; height:80px; border:1px solid #d8d8d8; padding:2px;}.conBotL dd{
width:189px; height:135px; float:right; line-height:20px;}.conBotL a:link,.conBotL a:visited{
color:#398C00; text-decoration:none;}.conBotL a:hover{
text-decoration:underline;}.conBotC{
width:388px; height:199px; float:left; background:url(../images/line_bg.jpg) no-repeat right top; padding:10px 10px 0;}.conBotC h2{
height:38px; position:relative;}.conBotC span{
display:block; width:35px; height:20px; position:absolute; right:0; top:10px;}.conBotC ul{
width:388px; height:125px; margin-top:22px;}.conBotC li{
width:120px; height:125px; float:left; margin-right:13px;}.conBotC .noMargin{
margin:0;}.one{
height:94px;}.one img{
width:114px; height:88px; border:1px solid #E0E0E0; padding:2px;}.two{
height:28px; line-height:28px; text-align:center;}.conBotR{
width:230px; height:199px; float:left; padding:10px 10px 0;}.conBotR p{
margin-top:22px; line-height:22px;}

html:

  • 有机蔬菜

    主要通过自然降水、施用农家肥人工除草等传统的农...

  • 有机蔬菜

    含有丰富的碳水化合物、维生素和微量元素,尤其是...

  • 有机蔬菜

    含有丰富的碳水化合物、维生素和微量元素,尤其是...

  • 有机蔬菜

    在饲养过程中不添加任何化学合成的添加剂、抗生素...

关于我们更多

绿色食品(北京)有限公司立志于有机事业的发展,坚持以人为本,走可持续发展的道路,从农田到餐桌,实行全过程监控体系,以优质的产品为更多的人提供健康的食品安...
详细内容>>

联系我们

地 址:北京市海淀区知春路未来大厦6层

邮 编:100191
热线电话:010-62358888
传 真:010-88636666
邮 箱:lssp@lssp.com

 
作者:向雄 
如果对我发表的文章存在疑问或者有更好的建议,可以扫描左边二维码(或者长按识别二维码)加我微信可以相互探讨(
加好友,请备注来自博客园)。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
 

转载于:https://www.cnblogs.com/binb/p/css.html

你可能感兴趣的文章
Expression<Func<T,TResult>>和Func<T,TResult>
查看>>
文件缓存
查看>>
关于C语言中return的一些总结
查看>>
Linux 命令 - 文件搜索命令 locate
查看>>
ES的Zen发现机制
查看>>
【hibernate】1、Hibernate的一个注解 @Transient
查看>>
HihoCoder 1877 - Approximate Matching
查看>>
Elastic Search 语法总结
查看>>
yii2 源码分析1从入口开始
查看>>
Leetcode 128. Longest Consecutive Sequence
查看>>
C# 线程手册 第五章 扩展多线程应用程序 - 什么是线程池
查看>>
考研路茫茫--单词情结 - HDU 2243(AC自动机+矩阵乘法)
查看>>
HTTP运行期与页面执行模型
查看>>
tableView优化方案
查看>>
近期思考(2019.07.20)
查看>>
android中不同版本兼容包的区别
查看>>
在 mvc4 WebApi 中 json 的 跨域访问
查看>>
敏捷开发文章读后感
查看>>
xposed获取context 的方法
查看>>
He who hesitates is Lost
查看>>