一般一个网站会有这么三个样式:

global.css | reset.css(格式化样式)
common.css(公共组件样式)
layout.css(当前页面样式)

清除全站所有页面的浏览器默认样式,保证在初始样式在所有浏览器下一致。

common.css(公共组件样式)

一般一个网站所有页面头部、底部样式都是一致的,而且很长时间不会有大的改变,改变的大概就是产品、运营的经常需要添加、去掉某些入口的需求,要保证全站所有页面头部一次替换生效,只要把头文件,已经对应的样式一发,马上生效,很快就有响应。

比如翻页、表单(输入框、按钮)等样式也是全站统一的,把这些样式都放到common.css里面,如果哪天所有的按钮样式要变更,一次替换就成功了。

layout.css(当前页面样式)

公共组件以外的所有样式都写到这个样式文件里面,并且保证一个页面一个独立样式,页面html和css写法要模块化,保证迅速响应项目频繁的迭代。

为什么要保证一个页面一个独立样式,而且要模块化,肯定有朋友和我有过一样的经历,修改一行样式代码,整个页面甚至N个页面都会受影响,搞了半天还
不知道哪里出了问题,返回到修改前的版本,就没问题了。终于找到原因了,却不能改以前的样式,更不能删除,只能增加,时间一长,css样式文件越来越大,
最后是不堪重负,整个页面代码只能重写。

其实global.css和common.css也可以合并到一个文件,毕竟格式化样式也就那么几十行代码,而且格式化样式、头部、底部样式每个页面都会用到。

这样每个页面就只有2个样式:

common.css
layout.css
如果common.css里面组件太多,而且很多组件也不是常用的,也可以像下面这样做:

heads.css(格式话样式、头部、底部)
common.css(公共组件样式)
layout.css(当前页面样式)
一般情况下也只有2个样式,当需要用到组件的时候才去link组件样式,也不会有太多问题。

最后,不要把什么东西都往组件样式里面塞,有写东西宁愿每个页面重复拷贝也不要塞到组件样式里面去。某一天,你会发现这个组件样式大得让你可怕,而且很多都是无用的。

/***********通用基本类1************/

/*格式化样式*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin:0;padding:0;}
table {border-collapse:collapse;border-spacing:0;}
fieldset,img {border:0}
address,caption,cite,code,dfn,em,strong,th,var {font-style:normal;font-weight:normal}
ol,ul {list-style:none}
caption,th {text-align:left}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal}
q:before,q:after {content:''}
abbr,acronym { border:0}

/*文字排版、颜色*/
.f12{font-size:12px}
.f13{font-size:13px}
.f14{font-size:14px}
.f16{font-size:16px}
.f20{font-size:20px}
.fb{font-weight:bold}
.fn{font-weight:normal}
.t2{text-indent:2em}
.red,a.red{color:#cc0031}
.darkblue,a.darkblue{color:#039}
.gray,a.gray{color:#878787}
.lh150{line-height:150%}
.lh180{line-height:180%}
.lh200{line-height:200%}
.unl{text-decoration:underline;}
.no_unl{text-decoration:none;}

/*定位*/
.tl{text-align:left}
.tc{text-align:center}
.tr{text-align:right}
.fl{float:left;display:inline}
.fr{float:right;display:inline}
.cb{clear:both}
.cl{clear:left}
.cr{clear:right}
.vm{vertical-align:middle}
.pr{position:relative}
.pa{position:absolute}
.abs-right{position:absolute;right:0}
.zoom{zoom:1}
.hidden{visibility:hidden}
.none{display:none}

/*长度高度*/
.w10{width:10px}
.w20{width:20px}
.w50{width:50px}
.w90{width:90px}
.w100{width:100px}
.w200{width:200px}
.w250{width:250px}
.w500{width:500px}
.w800{width:800px}
.w{width:100%}
.h50{height:50px}
.h80{height:80px}
.h100{height:100px}
.h200{height:200px}
.h{height:100%}

/*边距*/
.m10{margin:10px}
.m15{margin:15px}
.m30{margin:30px}
.mt5{margin-top:5px}
.mt10{margin-top:10px}
.mt15{margin-top:15px}
.mt50{margin-top:50px}
.mt100{margin-top:100px}
.mb5{margin-bottom:5px}
.mb10{margin-bottom:10px}
.mb15{margin-bottom:15px}
.mb100{margin-bottom:100px}
.ml5{margin-left:5px}
.ml10{margin-left:10px}
.ml15{margin-left:15px}
.ml20{margin-left:20px}
.ml30{margin-left:30px}
.ml50{margin-left:50px}
.ml100{margin-left:100px}
.mr5{margin-right:5px}
.mr10{margin-right:10px}
.mr15{margin-right:15px}
.mr50{margin-right:50px}
.mr100{margin-right:100px}
.p10{padding:10px;}
.p15{padding:15px;}
.p30{padding:30px;}
.pt5{padding-top:5px}
.pt10{padding-top:10px}
.pt15{padding-top:15px}
.pt20{padding-top:20px}
.pt30{padding-top:30px}
.pt50{padding-top:50px}
.pb5{padding-bottom:5px}
.pb100{padding-bottom:100px}
.pl5{padding-left:5px}
.pl10{padding-left:10px}
.pl50{padding-left:50px}
.pl100{padding-left:100px}
.pr5{padding-right:5px}
.pr10{padding-right:10px}
.pr15{padding-right:15px}
.pr100{padding-right:100px}

/***********通用基本类2************/

/* Copyright 2008 TSXMLOVE. All Rights Reserved. */
* {
padding: 0px;
margin: 0px;
text-align: left;
font-family:Arial, Verdana, Tahoma, "宋体", Helvetica, sans-serif;
line-height: 150%;
}
body {
font-size: 14px;
text-align: center;
color: #000000;
background-color: #DEEBF3;
background-image: url(../Images/body_bg.jpg);
background-repeat: repeat-x;
}
table {
border-collapse: collapse;
}
td {
padding: 3px;
}
img {
border: none;
}
input {
padding: 1px;
vertical-align: middle;
line-height: normal;
}
.main-box {
margin-right: auto;
margin-left: auto;
width: 960px;
clear: both;
zoom:1;
overflow:hidden;
background-color: #CCCCCC;
}
.text-overflow-hidden {
white-space: nowrap;
word-spacing: normal;
letter-spacing: normal;
overflow: hidden;
}
.box-align-center {
margin-right: auto;
margin-left: auto;
}
/*css定义超链接四个状态也有顺序的。*/

a:link, a:visited {
text-decoration: none;
color: #1F376D;
}
a:hover, a:active {
text-decoration: underline;
color: #BD0A01;
border: none;
}
/*以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。
注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。*/
ul {
clear:both;
overflow:hidden;
width: 100%;
}
ul, li {
list-style:none;
}
.valign {
display:table-cell;
*display: inline;
zoom:1;
vertical-align:middle;
}
.text{word-wrap:break-word;overflow:hidden;word-break:break-all;}
/*======================CSS垂直居中=======================*/
.holder {
width:740px;
height:300px;
border:1px solid #777;
text-align:center;
display:table-cell;
vertical-align:middle;
}
/*以下样式针对IE*/
.edge {
width:0;
height:100%;
display:inline-block;
vertical-align:middle;
}
.container {
vertical-align:middle;
display:inline-block;
}
/*===============================================*/

/*CSS Hack*/
.class {
background-color:#FFFF00;/*所有浏览器*/
*background-color:#00FF00;/*IE*/
_background-color:#00FFFF;/*IE6*/
}
/*======万能Float闭合======*/
.clear:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    }

.clear {display: inline-block;} /* for IE/Mac */

/*<!-- main stylesheet ends, CC with new stylesheet below... -->*/

.clear {
    zoom: 1;     /* triggers hasLayout */
    display: block;     /* resets display for IE/Win */
    } /* Only IE can see inside the conditional comment
    and read this CSS rule. Don't ever use a normal HTML
    comment inside the CC or it will close prematurely. */
/*======万能Float闭合2======*/
.overflow-hidden{overflow:hidden;}         /*控制背景溢出*/
.equal-height{margin-bottom:-32800px;padding-bottom:32800px;}      /*控制高度足够小*/

/*======万能Float闭合3======*/

.clear
{
 height:0px;
 clear:both;
 font-size:0px;
 line-height:0px;
 zoom: 1;
}

【转载自网络】

Css公共文件结构的更多相关文章

  1. CSS 公共样式分享

    global.css | reset.css(格式化样式) common.css(公共组件样式) layout.css(当前页面样式) 清除全站所有页面的浏览器默认样式,保证在初始样式在所有浏览器下一 ...

  2. CSS 公共样式

    global.css | reset.css(格式化样式) common.css(公共组件样式) layout.css(当前页面样式) 清除全站所有页面的浏览器默认样式,保证在初始样式在所有浏览器下一 ...

  3. css公共库——清除浮动

    清除浮动是css的基础,但有时候会忘了一些最简单的东西 浮动因为在文档流之外,所以会造成父元素的坍塌.父元素之后的元素排版就会乱. 常用的方法是在浮动父元素中添加cf类,然后定义cf样式,并将其放在公 ...

  4. css公共样式,初始化

    /* CSS Document */ body, button, select, textarea, input, label, option, fieldset, legend{font-famil ...

  5. css公共库——简介中超过长度显示省略号

    在简介.引言中常见:文字只有一排,超出宽度以省略号显示,像这样 实现方法:在公共库定义otw类 .otw{ overflow: hidden; text-overflow: ellipsis; whi ...

  6. css公共样式 | 标签元素初始化

    PC参考样式1: @charset "utf-8"; html{background:#fff;overflow:auto;} body{min-width:1200px;font ...

  7. css公共

    @charset "utf-8"; /* CSS Document */ *{ padding:; margin:; } ul,li{ list-style: none; } a{ ...

  8. CSS公共样式模版

    CSS文件命名为global.css,一般此CSS文件是用于装全站主要框架CSS样式代码和初始化的CSS样式. 通常会放初始化CSS代码如下: body, div, ul, ol, dl, dt, d ...

  9. 项目初始化CSS公共样式

    /*! normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css */ /* Document =========== ...

随机推荐

  1. APU的Vsense引脚的作用

    JACK学习文档推荐: 开关电源PCB布局注意事项 开关电源PCB布线注意事项 一.Sense电压检测(FB) “Sense+”和“Sense-”,就是四线制中的电压检测线,high-sense 和l ...

  2. mini2440裸机试炼之——Uart与pc端实现文件、字符传输

    1.  波特率(Baud rate)即调制速率,1波特即指每秒传输1个符号. 2.  非FIFO模式,即数据传输不利用FIFO缓存,一个字节一个字节地传输. 3.  位能够用来推断发送缓存器中是否为空 ...

  3. JS 的引用赋值与传值赋值

    这个问题说大不大说小不小,如果你有幸踩了这个坑,一定会找这篇文章,哈哈~ 现说一下JS数字的类型:基本类型和引用类型 先看下下面两个栗子: var a = 30; var b = a; a = 20; ...

  4. spring中bean的作用域属性single与prototype的区别

    https://blog.csdn.net/linwei_1029/article/details/18408363

  5. 有关Cache –(1) linux list之中的Prefetc

    转载:http://www.kernelchina.org/node/1050 linux的list实现之中有如下东东: #define list_for_each(pos, head) \     ...

  6. Selenium3 Python3 Web自动化测试从基础到项目实战之一启动不同的浏览器及配置

    在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改.从今天开始我们就慢慢从low代码一步一步的学习框架知识. 首先当我们测试环境有了之后我 ...

  7. mongo的时间类型,erlang中对其的处理

    需求:要想在一个调度中,从mongo中查出大于一个时间戳的所有的数据总和. 这个需求很简单,一个是scheduler,还有另一个就是查出来大于某个时间戳的总和,比如大于每天0点时间点的和. 需要注意的 ...

  8. iOS开发入门

    https://github.com/qinjx/30min_guides/blob/master/ios.md 任何C源程序,不经修改,即可通过Objective-C编译器成功编译 Objectiv ...

  9. scikit-learn:4. 数据集预处理(clean数据、reduce降维、expand增维、generate特征提取)

    本文參考:http://scikit-learn.org/stable/data_transforms.html 本篇主要讲数据预处理,包含四部分: 数据清洗.数据降维(PCA类).数据增维(Kern ...

  10. iphone开发之获取网卡的MAC地址和IP地址

    本文转载至 http://blog.csdn.net/arthurchenjs/article/details/6358489 这是获取网卡的硬件地址的代码,如果无法编译通过,记得把下面的这几个头文件 ...