组件化CSS--管理你整站的CSS文件


为什么要拆分样式文件?
更易于查找样式规则. 简化维护,方便管理. 还可以针对某一页面提供特定的样式.

为什么要添加桥接样式?
你可以随时添加或移除样式而不需要修改HTML 文档.


为什么要定义两种媒体类型?
NN4 不支持@import ,故识别不到桥接样式.

@import ‘header.css’;
@import ‘content.css’;
@import ‘footer.css’;
@imports 如何工作?
它将所有CSS 规则从一个文件导入到另外一个文件.@import 不能被老的
浏览器所识别.

对于 大型站点 来说,这是一个理想的概念.
 

Hack-free CSS
处理诸如IE 这样烦人的浏览器 的兼容性是我们最头疼的事儿之一.
很多朋友使用CSS Hack 来解决这些问题.
问题是当IE版本进行升级更替,改进对CSS的支持后,之前使用的hacks将会无效 !
你是怎么解决这个问题 的呢?
“我们要求你在不使用CSS hacks 的情况下更新你的页面.假如你想针对IE或者避开IE,你可以使用条件注释.”
条件注释 如何工作?
步骤一、针对IE,创建一个心得样式文件

步骤二、在HTML文档的开头添加条件注释 代码

只有指定的IE浏览器版本识别这个心的样式,其它的浏览器将会彻底忽略 它.

平常的浏览器识别:(非IE浏览器,如火狐、Chrome等等)

特定IE 版本识别:

举个例子, 大多数浏览器会将补白加进容器的宽度里,但是IE5 不会. 这种情况下,IE5 显示的是一个比较小的容器.
main.css (被包含IE5在内的所有浏览器识别):
#container{ width: 600px; padding: 100px;}
ie5.css (只有IE5识别):
#container {width: 800px; }
为什么条件注释是一个好的解决方案呢?
1.  No hacks
特定的CSS 规则仅出现在新的样式表里.
2.  文件分离
针对特定版本的IE 定义的样式脱离了主样式表,可以在IE 浏览器升级更新对属性支持时轻松移除这些文件.
3.  针对性
可对不同版本的IE 浏览器有针对性的进行相关属性的定义。
组件化CSS--管理你整站的CSS文件的更多相关文章
- iOS组件化开发一pod库包含MRC的文件处理(五)
		
在做项目的过程中,建立了一个私有pod库,在这个库中存在mrc类文件这个时候如果在使用了arc的工程中引用这个pod的工程中手动设置当然也可以就是费时费力.现在我们来看看如何在私有库配置文件里配置自动 ...
 - Android组件化之终极方案
		
Android组件化项目地址:Android组件化项目AndroidModulePattern Fragment或View如何支持组件化 如何管理组件 Fragment或View如何支持组件化 距离 ...
 - 如何通过 Vue+Webpack 来做通用的前端组件化架构设计
		
目录: 1. 架构选型 2. 架构目录介绍 3. 架构说明 4. 招聘消息 目前如果要说比较流行的前端架构哪家强,屈指可数:reactjs.angularjs.emberj ...
 - CSS组件化思考
		
为什么组件化? 分层设计,代码复用,减少冗余: 维护方便,弹性好: 如何组件化? 目前代码分成三级: 第一级粒度最细,是基础,主要包含字体配置,颜色配置,UI框架(比如MUI或者pure.css): ...
 - 高效、可维护、组件化的CSS
		
如何写出更加高效的CSS? 主要有以下四个关键点: 高效的CSS 可维护的CSS 组件化的CSS hack-free CSS 1.书写高效的CSS代码 * 使用 外联样式 替代行间 样式或者内嵌样式. ...
 - DEDE整站动态化或整站静态化设置方法,织梦栏目批量静态/动态方法
		
跟版网建站接到一个朋友提问,100多各栏目全部要从动态变成静态,里面的文章也要静态化,如何更快捷的设置dede的静态化或者动态化呢? 直接用DEDE后台的SQL命令行工具, SQL语句: DEDE整站 ...
 - css+js整站变灰(兼容IE7+)
		
原文:css+js整站变灰(兼容IE7+) 历年大型地震等自然灾害来临过后,各大网站整站都变成灰色以悼念逝去的生命,那么这种整站变灰的效果是怎么做到的? 重写一套css?NO,即便你有这个时间重写,那 ...
 - vuex-- Vue.的中心化状态管理方案(vue 组件之间的通信简化机制)
		
vuex-- Vue.的中心化状态管理方案(vue 组件之间的通信简化机制) 如果你在使用 vue.js , 那么我想你可能会对 vue 组件之间的通信感到崩溃 .vuex就是为了解决组件通信问题的. ...
 - (day67)组件、组件化、组件传参、JS补充(命名转换、for in 、数据转换)、css取消选中和模拟小手
		
目录 一.初识组件 (一)概念 (二)特点 二.组件的分类 (一)根组件 (二)局部组件 (三)全局组件 二.数据组件化 三.组件的传参 (一)父传子 (二)子传父 四.JS补充 (一)与html命名 ...
 
随机推荐
- [转] C#操作Excel文件
			
来自 jbp74c37ad170 的文章EXCEL编程语句有那些啊 全面控制 Excel首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.Application ...
 - Nginx - Windows下Nginx基本安装和配置
			
Nginx 是一个轻量级的高性能 Http WebServer,以事件驱动方式编写,因此相比 Apache 而言,Nginx 更加稳定.性能更好,而且配置简单,资源占用较低. 1. 安装 Nginx ...
 - 【转】Linux mount/unmount命令
			
转自:http://www.cnblogs.com/xd502djj/p/3809375.html 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有:-a 安装在/etc/fs ...
 - 让pre标签自动换行示例代码
			
pre 元素可定义预格式化的文本.被包围在 pre 元素中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre> 标签的一个常见应用就是用来表示计算机的源代码.对于技术博客经 ...
 - jquery、js操作checkbox全选反选
			
全选反选checkbox在实际应用中比较常见,本文有个不错的示例,大家可以参考下 操作checkbox,全选反选//全选 function checkAll() { $('input[name=&qu ...
 - 容器的范围 .xml
			
pre{ line-height:1; color:#f0caa6; background-color:#2d161d; font-size:16px;}.sysFunc{color:#e54ae9; ...
 - bzoj 3809 Gty的二逼妹子序列(莫队算法,块状链表)
			
[题意] 回答若干个询问,(l,r,a,b):区间[l,r]内权值在[a,b]的数有多少[种]. [思路] 考虑使用块状链表实现莫队算法中的插入与删除. 因为权值处于1..n之间,所以我们可以建一个基 ...
 - C++ 串
			
♣ string 的基类basic_string中没有虚函数,它无意成为基类.更像是为了处理字符相关的问题而专门提供的一个工具及操作方法.如:想要在一个字符串str1中查找str2,没必要每次都去写K ...
 - (转载)OC学习篇之---协议的概念和用法
			
在前一篇文章中我们介绍了OC中类的延展,这一篇文章我们在来看一下OC中协议的概念以及用法,协议也是OC中的一个重点,Foundation框架以及我们后面在写代码都会用到. OC中的协议就是相当于Jav ...
 - 150个JS特效脚本
			
收集了其它一些不太方便归类的JS特效,共150个,供君查阅. 1. simplyScroll simplyScroll这个jQuery插件能够让任意一组元素产生滚动动画效果,可以是自动.手动滚动,水平 ...