读书频道 > 网站 > 网页设计 > Bootstrap实战
3.1.3 CSS重设
13-11-02    奋斗的小年轻
收藏    我要投稿   

本文所属图书 > Bootstrap实战

本书由国内资深前端工程师撰写,是目前内容最为全面和深入的Bootstrap专著。它不仅系统讲解了Bootstrap的各项功能和使用方法,详细讲解了Bootstrap的组件、插件和扩展技术,而且深度解析了Bootstrap的内核源代码立即去当当网订购

设计师们都梦想着这样一个完美世界:所有的浏览器都能够理解和适用所有CSS规则,并且呈现相同的视觉效果(没有兼容性问题)。但是,现实却总是恰恰相反,很多CSS样式在不同的浏览器中有着不同的解释和呈现。

当今流行的浏览器,如Firefox、Opera、Internet Explorer、Chrome、Safari等,有一些以自己的方式去理解CSS规范,这就会导致有的浏览器对CSS的解释与设计师的CSS定义初衷相冲突,使得网页的样子在某些浏览器下能正确按照设计师的想法显示,但有些浏览器却并没有按照设计师想要的样子显示出来,这就导致浏览器的兼容性问题。更糟的是,有的浏览器完全无视CSS的一些声明和属性。

正因为上述冲突和问题依然存在,所以一些设计师想到了一种避免浏览器兼容性问题的方法,那就是CSS Reset。什么是CSS Reset呢?我们可以把它叫做“CSS重设”,也有人把它叫做“CSS复位”、“默认CSS”、“CSS重置”等。CSS重设就是由于各种浏览器解释CSS样式的初始值有所不同,导致设计师在没有定义某个CSS属性时,不同的浏览器会按照自己的默认值来为没有定义的样式赋值,所以我们要先定义好一些CSS样式,来让所有浏览器都按照同样的规则解释CSS,这样就能避免发生这种问题。

最简单的CSS重设如下:
* {
    padding: 0;
    margin: 0;
}

这个CSS重设将所有元素的padding和margin值都设为0,可以避免一些浏览器在理解这两个属性默认值上发生分歧。
* {
    padding: 0;
    margin: 0;
    border: 0;
}

这是在上一个重设的基础上添加了对border属性的重设,初始值为0,的确能避免一些问题。
* {
    outline: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

在前两个重设的基础上添加了outline属性的重设,防止一些冲突。甚至还有如下的浓缩实用型CSS重设。
* {
    vertical-align: baseline;
    font-weight: inherit;
    font-family: inherit;
    font-style: inherit;
    font-size: 100%;
    outline: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

该CSS重设方法出自在线资源网站Perishable Press,这是它常用的方法。

因为这种做法具有巨大的潜在破坏性,Bootstrap没有采用上述常规做法,进行CSS样式重置,而是采用针对性重置和增强型修补。

所谓针对性重置,就是设置特定上下文环境来重设样式。例如,针对通用选择器的使用,Bootstrap仅限制在打印媒体类型中使用:
@media print {
 * {
   text-shadow: none !important;
   color: #000 !important; // Black prints faster: h5bp.com/s
   background: transparent !important;
   box-shadow: none !important;
 }
}

有针对性的重置样式:
button,
input,
select,
textarea {
   margin: 0;
   font-size: 100%;
   vertical-align: middle;
}

通过下面方法,增强HTML5新标签的功能,让它们拥有块状显示的布局功能。
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
   display: block;
}

也许不同CSS框架和网站的重设方法不同,但是它们都有共同点,大部分都是同一个目的,就是为了让更多的浏览器能显示同样的效果。有了这些CSS重设作为资料和参考,也许会对后期开发有所帮助,甚至提高效率。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站