精选CSS片断,网站前端必备(2)
 

精选CSS片断,网站前端必备(2)
2013/05/31

-

1. CSS Resets


网络上关于CSS重置的代码非常多。本段代码是根据Eric Meyer’s reset codes进行改编的,里面包含一点响应式图片和所有核心元素的边界框设置,这样就可以保持页边距和填充可以很好地对齐。

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  outline: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html { height: 101%; }
body { font-size: 62.5%; line-height: 1; font-family: Arial, Tahoma, sans-serif; }
     
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
     
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
strong { font-weight: bold; }
     
table { border-collapse: collapse; border-spacing: 0; }
img { border: 0; max-width: 100%; }
     
p { font-size: 1.2em; line-height: 1.0em; color: #333; }

2.经典的CSS Clearfix


这个clearfix代码已在Web开发者之间广泛流传,这段类选择器要应用到持有浮动元素的容器中,确保后面的内容都不会浮动,但会被下推和清除。

.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.clearfix { display: inline-block; }
     
html[xmlns] .clearfix { display: block; }
* html .clearfix { height: 1%; }

3.升级版的Clearfix


在表现上,新版本和经典版本不存在什么差异,这些类可以有效地清除所有floats,但它们只兼容现代浏览器和传统的IE 6-8。

.clearfix:before, .container:after { content: ""; display: table; } 
.clearfix:after { clear: both; }
/* IE 6/7 */
.clearfix { zoom: 1; }

4. 透明度

CSS3里的许多属性都与浏览器相兼容,但也有特例,比如opacity,需要对它进行一些更新才可以。附加过滤属性可以兼容任何老版的IE浏览器

.transparent {
    filter: alpha(opacity=50);
/* internet explorer */
    -khtml-opacity: 0.5;     
/* khtml, old safari */
    -moz-opacity: 0.5;      
/* mozilla, netscape */
    opacity: 0.5;          
/* fx, safari, opera */
}

5. 一般媒体查询,设备响应


这是一段非常好的模板,用于各种零零碎碎的媒体查询,在移动设备上也可以使用,这段代码甚至可以通过使用min-device-pixel-ratio引用到视网膜设备上。

/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px) and (max-device-width : 480px) { 
      
/* Styles */
} 
/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 321px) {
      
/* Styles */
} 
/* Smartphones (portrait) ----------- */
@media only screen and (max-width : 320px) {
      
/* Styles */
     
}
/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
      
/* Styles */
     
}
    
/* iPads (landscape) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
      
/* Styles */
}
/* iPads (portrait) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
      
/* Styles */
}  
/* Desktops and laptops ----------- */
@media only screen and (min-width : 1224px) {
      
/* Styles */
}
/* Large screens ----------- */
@media only screen and (min-width : 1824px) {
      
/* Styles */
}
/* iPhone 4 ----------- */
@media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5) {
      
/* Styles */
}

6. 自定义文本选择颜色

::selection { background: #e2eae2; }
::-moz-selection { background: #e2eae2; }
::-webkit-selection { background: #e2eae2; }

一些新的Web浏览器允许你在网页上自定义一些突出显示的颜色,下面代码的默认颜色是浅蓝色,当然,你可以依据个人爱好进行各种颜色设置。下面代码引用了典型的Webkit和Mozilla供应商前缀::selection 。


7. 内容垂直集中

相对于内容在水平位置,内容在垂直方向是不好把控的,尤其当考虑到滚动条这些因素时。这段纯CSS代码可以很好的工作。

.container {
    min-height: 6.5em;
    display: table-cell;
    vertical-align: middle;
}

8. @Font-Face模板

使用@font-face可以把TTF/OTF/SVG/WOFF文件嵌入到网站,并生成自定义font families。

@font-face {
    font-family: 'MyWebFont';
    src: url('webfont.eot');
/* IE9 Compat Modes */
    src: url('webfont.eot?#iefix') format('embedded-opentype'),
/* IE6-IE8 */
    url('webfont.woff') format('woff'),
/* Modern Browsers */
    url('webfont.ttf')  format('truetype'),
/* Safari, Android, iOS */
    url('webfont.svg#svgFontName') format('svg');
/* Legacy iOS */
}
body {
    font-family: 'MyWebFont', Arial, sans-serif;
}