很实用的50个CSS代码片段

时间:2022-01-01 09:47:32

         面对每年如此多的 新趋势 ,保持行业的率先是个非常困难问题. 站点设计者和前端project师都已经全面的使用 CSS3 properties,
决定这些的是 浏览器支持 和新的特性. 可是还是有些优秀的CSS2代码片段和CSS3一起执行中.

      这篇文字里我会介绍 50 个便于使用的 CSS2/CSS3 代码片段 给全部的WEB专业人员. 选择IDE开发环境来存储这些是个不错选择, 或者不过把它们保存为一个小小的CSS文件. 无论那种方式我肯定设计者和开发人员都会发现他们之中一些实用的.

1. CSS 重置

  1. 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 {
  2. margin: 0;
  3. padding: 0;
  4. border: 0;
  5. font-size: 100%;
  6. font: inherit;
  7. vertical-align: baselinebaseline;
  8. outline: none;
  9. -webkit-box-sizing: border-box;
  10. -moz-box-sizing: border-box;
  11. box-sizing: border-box;
  12. }
  13. html { height: 101%; }
  14. body { font-size: 62.5%; line-height: 1; font-family: Arial, Tahoma, sans-serif; }
  15. article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
  16. ol, ul { list-style: none; }
  17. blockquote, q { quotes: none; }
  18. blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
  19. strong { font-weight: bold; }
  20. table { border-collapse: collapse; border-spacing: 0; }
  21. img { border: 0; max-width: 100%; }
  22. p { font-size: 1.2em; line-height: 1.0em; color: #333; }

       主要的CSS重置是网络上最常见的代码片段. 这是我自己定制的重置代码,它基于 Eric Meyer’s reset codes。里面有一些图片的设定以及为全部的核心元素定义边框, 保持适当的marings 和 padding.

2. 经典的 CSS Clearfix

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

         这个clearfix代码被非常多聪明的开发人员用于站点. 它应用于一个用于保存浮动元素的盒子模型上. 这将确保里面的不论什么内容都以拉伸方式出现而不是浮动出现.
  1. .clearfix:before, .container:after { content: ""; display: table; }
  2. .clearfix:after { clear: both; }
  3. /* IE 6/7 */
  4. .clearfix { zoom: 1; }

     这里就不说这个新版本号和经典版本号之间的主要差差异了. 它们两个都能够有效的清除你的浮动元素, 并且都支持流行的浏览器甚至是Internet Explorer 6-8.

4. 跨浏览器的透明度
  1. .transparent {
  2. filter: alpha(opacity=50); /* internet explorer */
  3. -khtml-opacity: 0.5;      /* khtml, old safari */
  4. -moz-opacity: 0.5;       /* mozilla, netscape */
  5. opacity: 0.5;           /* fx, safari, opera */
  6. }

Code
Source

       一些新的CSS3属性我们可能觉得它适用于不论什么地方. 实际上不行,我们还得略微调整下,透明度就是个样例. 加上这个filter属性来保证它能在IE游览器里正常执行.

5. CSS 块引用模版
  1. blockquote {
  2. background: #f9f9f9;
  3. border-left: 10px solid #ccc;
  4. margin: 1.5em 10px;
  5. padding: .5em 10px;
  6. quotes: "\201C""\201D""\2018""\2019";
  7. }
  8. blockquote:before {
  9. color: #ccc;
  10. content: open-quote;
  11. font-size: 4em;
  12. line-height: .1em;
  13. margin-right: .25em;
  14. vertical-align: -.4em;
  15. }
  16. blockquote p {
  17. display: inline;
  18. }

Code
Source


        不是全部的人都必须在他们的站点上使用blockquotes. 可是我觉得这是一个非常好的元素用于分离引用或是优化博客和网页上的反复内容. 上面的代码为你的blockquotes提供一个默认样式,这样你的内容就不会看起来单调乏味.

6. 个性的圆角
  1. #container {
  2. -webkit-border-radius: 4px 3px 6px 10px;
  3. -moz-border-radius: 4px 3px 6px 10px;
  4. -o-border-radius: 4px 3px 6px 10px;
  5. border-radius: 4px 3px 6px 10px;
  6. }
  7. /* alternative syntax broken into each line */
  8. #container {
  9. -webkit-border-top-left-radius: 4px;
  10. -webkit-border-top-rightright-radius: 3px;
  11. -webkit-border-bottom-rightright-radius: 6px;
  12. -webkit-border-bottom-left-radius: 10px;
  13. -moz-border-radius-topleft: 4px;
  14. -moz-border-radius-topright: 3px;
  15. -moz-border-radius-bottomright: 6px;
  16. -moz-border-radius-bottomleft: 10px;
  17. }

       大多数开发人员都熟悉CSS3的圆角属性. 可是你知道怎样为每一个角设定不同的值吗? 上面的代码帮你搞定这个问题! 上面的两个版本号都为你实现了这个效果,细致研究下吧.

7.一般媒体查询

  1. /* Smartphones (portrait and landscape) ----------- */
  2. @media only screen
  3. and (min-device-width : 320px) and (max-device-width : 480px) {
  4. /* Styles */
  5. }
  6. /* Smartphones (landscape) ----------- */
  7. @media only screen and (min-width : 321px) {
  8. /* Styles */
  9. }
  10. /* Smartphones (portrait) ----------- */
  11. @media only screen and (max-width : 320px) {
  12. /* Styles */
  13. }
  14. /* iPads (portrait and landscape) ----------- */
  15. @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
  16. /* Styles */
  17. }
  18. /* iPads (landscape) ----------- */
  19. @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
  20. /* Styles */
  21. }
  22. /* iPads (portrait) ----------- */
  23. @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
  24. /* Styles */
  25. }
  26. /* Desktops and laptops ----------- */
  27. @media only screen and (min-width : 1224px) {
  28. /* Styles */
  29. }
  30. /* Large screens ----------- */
  31. @media only screen and (min-width : 1824px) {
  32. /* Styles */
  33. }
  34. /* iPhone 4 ----------- */
  35. @media only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5) {
  36. /* Styles */
  37. }

Code
Source


        这是一个非常棒的模版。你能在CSS-Tricks找到其他零碎的媒体查询。

无论如何我已经把他们的样例全拷下来了。那里面包含了成吨的实际的移动设备。这些代码甚至能针对视网膜屏设备。使用最小设备像素比例。


8. 现代字体栈
  1. /* Times New Roman-based serif */
  2. font-family: Cambria, "Hoefler Text", Utopia, "Liberation Serif", "Nimbus Roman No9 L Regular", Times, "Times New Roman", serif;
  3. /* A modern Georgia-based serif */
  4. font-family: Constantia, "Lucida Bright", Lucidabright, "Lucida Serif", Lucida, "DejaVu Serif," "Bitstream Vera Serif", "Liberation Serif", Georgia, serif;
  5. /*A more traditional Garamond-based serif */
  6. font-family: "Palatino Linotype", Palatino, Palladio, "URW Palladio L", "Book Antiqua", Baskerville, "Bookman Old Style", "Bitstream Charter", "Nimbus Roman No9 L", Garamond, "Apple Garamond", "ITC Garamond Narrow", "New Century Schoolbook", "Century Schoolbook", "Century Schoolbook L", Georgia, serif;
  7. /*The Helvetica/Arial-based sans serif */
  8. font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
  9. /*The Verdana-based sans serif */
  10. font-family: Corbel, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", Verdana, "Verdana Ref", sans-serif;
  11. /*The Trebuchet-based sans serif */
  12. font-family: "Segoe UI", Candara, "Bitstream Vera Sans", "DejaVu Sans", "Bitstream Vera Sans", "Trebuchet MS", Verdana, "Verdana Ref", sans-serif;
  13. /*The heavier "Impact" sans serif */
  14. font-family: Impact, Haettenschweiler, "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans-serif;
  15. /*The monospace */
  16. font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;

Code
Source


       你非常难为设计一个新的页面头脑风暴式的想出自己的CSS字体栈。我希望这一小片代码能减轻一些折磨,并给你一些能够着手開始的模版。假设你想找很多其它的样例,查看一下CSS
字体栈
 ,这是我最喜欢的资源之中的一个。

9. 自己定义文本选择

  1. ::selection { background: #e2eae2; }
  2. ::-moz-selection { background: #e2eae2; }
  3. ::-webkit-selection { background: #e2eae2; }

       一些新式的浏览器会同意你定义页面中的高亮颜色。默认这是设为淡蓝色的,但你能够设置不论什么投你所好的颜色值。这小片代码包含了典型的::selection目标以及专为Webkit和Mozilla的特定前缀。

10.隐藏H1文本为Logo标志
  1. h1 {
  2. text-indent: -9999px;
  3. margin: 0 auto;
  4. width: 320px;
  5. height: 85px;
  6. background: transparent url("images/logo.png") no-repeat scroll;
  7. }

       我第一次注意到这个技术实现是在古老的Digg 布局 。为了SEO的目的,你也能够设置一个包括有你的网站名称的H1标签。

但使用CSS我们能移走这个文本使它不可见,并用一个客制化的logo图片替换它。


11. polaroid图像边界

  1. img.polaroid {
  2. background:#000; /*Change this to a background image or remove*/
  3. border:solid #fff;
  4. border-width:6px 6px 20px 6px;
  5. box-shadow:1px 1px 5px #333; /* Standard blur at 5px. Increase for more depth */
  6. -webkit-box-shadow:1px 1px 5px #333;
  7. -moz-box-shadow:1px 1px 5px #333;
  8. height:200px; /*Set to height of your image or desired div*/
  9. width:200px; /*Set to width of your image or desired div*/
  10. }

Code
Source


       应用这个基础的片段将使你能在你的图像上实现.polaroid 类。

这将会创建老照片风格效果,带一个非常宽的白边和一些淡淡的阴影。你要更新宽/高数值。以便和你的图片尺寸和站点布局相匹配。


12. 锚链接伪类
  1. a:link { color: blue; }
  2. a:visited { color: purple; }
  3. a:hover { color: red; }
  4. a:active { color: yellow; }

Code
Source


      大多数CSS开发人员知道锚链接类和:hover效果。可是我想引入这小段代码给新手做个參考。这些是一个锚链接和一些其它HTML元素的四个默认状态。

把它们留在手边,直到你能够记住一些更复杂的情况。


13. 花式CSS3 Pull-引文
  1. .has-pullquote:before {
  2. /* Reset metrics. */
  3. padding: 0;
  4. border: none;
  5. /* Content */
  6. content: attr(data-pullquote);
  7. /* Pull out to the right, modular scale based margins. */
  8. float: rightright;
  9. width: 320px;
  10. margin: 12px -140px 24px 36px;
  11. /* Baseline correction */
  12. position: relative;
  13. top: 5px;
  14. /* Typography (30px line-height equals 25% incremental leading) */
  15. font-size: 23px;
  16. line-height: 30px;
  17. }
  18. .pullquote-adelle:before {
  19. font-family: "adelle-1", "adelle-2";
  20. font-weight: 100;
  21. top: 10px !important;
  22. }
  23. .pullquote-helvetica:before {
  24. font-family: "Helvetica Neue", Arial, sans-serif;
  25. font-weight: bold;
  26. top: 7px !important;
  27. }
  28. .pullquote-facit:before {
  29. font-family: "facitweb-1", "facitweb-2", Helvetica, Arial, sans-serif;
  30. font-weight: bold;
  31. top: 7px !important;
  32. }

Code
Source


       Pull-引文(Pull-quotes)与块引用(blockquotes)不同,它们出如今你的博客或者新闻文章的一边。

这些引文常常从文章中引用文本。所以它们和块引用显示的稍许不一样。这些默认类具有一些基础的属性,带有3个可供选择的独特的字体类型。


14.全屏背景和CSS3
  1. html {
  2. background: url('images/bg.jpg') no-repeat center center fixed;
  3. -webkit-background-size: cover;
  4. -moz-background-size: cover;
  5. -o-background-size: cover;
  6. background-size: cover;
  7. }

Code
Source


       我应该标注一下这个代码在不支持CSS3语法的老式浏览器中不会正确的工作。

然而假设你是在寻找一个不须要关心遗留系统支持的高速的解决方式。这是你能找到的最好的代码段!给你站点背景添加非常大的照片同一时候又能使它们能在你滚动的时候保持可变尺寸和固定不动。


15. 垂直居中内容
  1. .container {
  2. min-height: 6.5em;
  3. display: table-cell;
  4. vertical-align: middle;
  5. }

Code
Source


      使用 margin: 0 auto 技术,非常easy就能使内嵌的内容位于你页面的水平正中。然而对垂直的文本要困难的多。尤其是考虑到滚动栏和其他的方式。但这个是无需JavaScript就能完美无瑕工作的纯CSS解决方式。

16.强制垂直滚动栏
  1. html { height: 101% }
      假设你的页面内容不能填满你的浏览器窗体整个高度。那么你不会焦灼于获取滚动栏。可是改变大小将会强制它们出现。并给你的窗体宽度添加额外的10-15像素。推走你的页面内容。这个代码段将保证你的HTML元素总是比浏览器高一点点,强制滚动栏一直停留在适当位置。

17. CSS3梯度模板
  1. #colorbox {
  2. background: #629721;
  3. background-image: -webkit-gradient(linear, left top, left bottom, from(#83b842), to(#629721));
  4. background-image: -webkit-linear-gradient(top, #83b842, #629721);
  5. background-image: -moz-linear-gradient(top, #83b842, #629721);
  6. background-image: -ms-linear-gradient(top, #83b842, #629721);
  7. background-image: -o-linear-gradient(top, #83b842, #629721);
  8. background-image: linear-gradient(top, #83b842, #629721);
  9. }

       CSS3梯度是新技术參数的还有一个奇异的部分。

很多特定前缀难以记忆,所以这个代码片段将能为你每一个项目节省一点时间。


18. @font-face模版

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

Code
Source


       这是还有一些不是非常easy记的CSS3代码。

使用@font-face你能够给你的站点嵌入自己的TTF/OTF/SVG/WOFF文件。生成自己定义的字体类型。为你未来的项目,将这个模版作为一个主要的样例。


19. 完整定义CSS3元素
  1. p {
  2. position:relative;
  3. z-index:1;
  4. padding: 10px;
  5. margin: 10px;
  6. font-size: 21px;
  7. line-height: 1.3em;
  8. color: #fff;
  9. background: #ff0030;
  10. -webkit-box-shadow: 0 0 0 4px #ff0030, 2px 1px 4px 4px rgba(10,10,0,.5);
  11. -moz-box-shadow: 0 0 0 4px #ff0030, 2px 1px 4px 4px rgba(10,10,0,.5);
  12. box-shadow: 0 0 0 4px #ff0030, 2px 1px 6px 4px rgba(10,10,0,.5);
  13. -webkit-border-radius: 3px;
  14. -moz-border-radius: 3px;
  15. border-radius: 3px;
  16. }
  17. p:before {
  18. content: "";
  19. position: absolute;
  20. z-index: -1;
  21. top: 3px;
  22. bottom: 3px;
  23. left :3px;
  24. right: 3px;
  25. border: 2px dashed #fff;
  26. }
  27. p a {
  28. color: #fff;
  29. text-decoration:none;
  30. }
  31. p a:hover, p a:focus, p a:active {
  32. text-decoration:underline;
  33. }
20. CSS3 斑马条纹

  1. tbody tr:nth-child(odd) {
  2. background-color: #ccc;
  3. }

       这个项目最好的应用是在数据列表上. 为40或50行的表来定义是非常费劲的事情. 通过加入上面的CSS3条纹属性能够方便的为奇数行添上背景色.

21. 字符美化
  1. .amp {
  2. font-family: Baskerville, 'Goudy Old Style', Palatino, 'Book Antiqua', serif;
  3. font-style: italic;
  4. font-weight: normal;
  5. }

Code
Source


       这个css类用在页面内容中环绕文字的span元素. 它会将一些典型的serif 字体用斜体形式显示.測试下看看是不是你喜欢的风格吧.

22. 段落首字母
  1. p:first-letter{
  2. display: block;
  3. margin: 5px 0 0 5px;
  4. float: left;
  5. color: #ff3366;
  6. font-size: 5.4em;
  7. font-family: Georgia, Times New Roman, serif;
  8. }

       在报纸和图片上你一定看到过它们的首字母的特殊效果. 对于有足够版面的网页或博客来说肯定会受其影响. 上面的CSS规则定义了全部的P标签,你也能够把它们定义为一个class或是ID.

23. CSS3盒子模型内部阴影

  1. #mydiv {
  2. -moz-box-shadow: inset 2px 0 4px #000;
  3. -webkit-box-shadow: inset 2px 0 4px #000;
  4. box-shadow: inset 2px 0 4px #000;
  5. }

       阴影为我们的站点提供了巨大的变化. 你差点儿能够全部的元素定义这个属性, 看起来都非常不错. 上面的代码定义了内阴影,对设计来说非常丑,但在一定的环境下还是非常好的.

24. CSS3盒子模型外部阴影
  1. #mydiv {
  2. -webkit-box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.52);
  3. -moz-box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.52);
  4. box-shadow: 0 2px 2px -2px rgba(0, 0, 0, 0.52);
  5. }

与CSS3内阴影一样,我也提供一段外阴影的代码. 注意第三个数字表示模糊距离,第四个表示范围. 了解很多其它从W3Schools.

25. 三角形列表前缀
  1. ul {
  2. margin: 0.75em 0;
  3. padding: 0 1em;
  4. list-style: none;
  5. }
  6. li:before {
  7. content: "";
  8. border-color: transparent #111;
  9. border-style: solid;
  10. border-width: 0.35em 0 0.35em 0.45em;
  11. display: block;
  12. height: 0;
  13. width: 0;
  14. left: -1em;
  15. top: 0.9em;
  16. position: relative;
  17. }

Code
Source


      无论你信不信,反正我是信了.在CSS3中三角形的列表前缀是可能的. 这个看起来太酷了,可惜的是不是全部的浏览器都支持.

26. 固定宽度的居中布局

  1. #page-wrap {
  2. width: 800px;
  3. margin: 0 auto;
  4. }

Code
Source


我知道之前已经提到过如何设置水平居中.在这里的代码是完美实现固定宽度的水平居中 .

27. CSS3 文本分列
  1. #columns-3 {
  2. text-align: justify;
  3. -moz-column-count: 3;
  4. -moz-column-gap: 12px;
  5. -moz-column-rule: 1px solid #c4c8cc;
  6. -webkit-column-count: 3;
  7. -webkit-column-gap: 12px;
  8. -webkit-column-rule: 1px solid #c4c8cc;
  9. }

Code
Source


      CSS3分列在站点上看起来会很不错, 现实的问题是我们怎样把基于文本的内容分列显示. 通过上面的代码,为你的文本段落设置当中的列的数值,文本内容将会按你设定的值分成宽度同样的列.

28. CSS 固定的页脚
  1. #footer {
  2. position: fixed;
  3. left: 0px;
  4. bottom: 0px;
  5. height: 30px;
  6. width: 100%;
  7. background: #444;
  8. }
  9. /* IE 6 */
  10. * html #footer {
  11. position: absolute;
  12. top: expression((0-(footer.offsetHeight)+(document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight)+(ignoreMe = document.documentElement.scrollTop ?

    document.documentElement.scrollTop : document.body.scrollTop))+'px');

  13. }

Code
Source


      这个实际用起来比听起来要实用的多, 为你的站点加入一个固定页脚是非常easy的. 这些页脚无论页面怎样滚动都是固定的,你能够包括一些帮助信息或是联系方式等等. 完美的为用户界面添加价值.

29. PNG 图片在 IE6下的透明度

.
  1. .bg {
  2. width:200px;
  3. height:100px;
  4. background: url(/folder/yourimage.png) no-repeat;
  5. _background:none;
  6. _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/folder/yourimage.png',sizingMethod='crop');
  7. }
  8. /* 1px gif method */
  9. img, .png {
  10. position: relative;
  11. behavior: expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?

    (this.runtimeStyle.backgroundImage = "none",

  12. this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')",
  13. this.src = "images/transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),
  14. this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='crop')",
  15. this.runtimeStyle.backgroundImage = "none")),this.pngSet=true));
  16. }

Code
Source


       使用透明图片已经变成站点的最主要的实践. 開始的时候是gif图,如今都使用PNG透明图. 不幸的是一些IE老版的浏览器不支持这个透明度属性. 加入上上面的代码就能搞定这个问题.

30. 跨浏览器的最小高度

  1. #container {
  2. min-height: 550px;
  3. height: auto !important;
  4. height: 550px;
  5. }


      不得不使用min-height的开发人员知道都是那些浏览器支持这个属性. 非常多新的游览器都支持这个属性, 然而Internet Explorer 和 老版本号的 Firefox对这个支持有问题. 上面的代码能解决这个Bug.

31. CSS3发光输入框

  1. input[type=text], textarea {
  2. -webkit-transition: all 0.30s ease-in-out;
  3. -moz-transition: all 0.30s ease-in-out;
  4. -ms-transition: all 0.30s ease-in-out;
  5. -o-transition: all 0.30s ease-in-out;
  6. outline: none;
  7. padding: 3px 0px 3px 3px;
  8. margin: 5px 1px 3px 0px;
  9. border: 1px solid #ddd;
  10. }
  11. input[type=text]:focus, textarea:focus {
  12. box-shadow: 0 0 5px rgba(81, 203, 238, 1);
  13. padding: 3px 0px 3px 3px;
  14. margin: 5px 1px 3px 0px;
  15. border: 1px solid rgba(81, 203, 238, 1);
  16. }

Code
Source


       我真的喜欢这个基础的自己定义CSS3类,这是由于它覆盖默认浏览器行为的方式。我所知道的Chrome & Safar用户对表单里的输入框轮廓非常反感。

将这些属性加到你的样式表。会给主要的输入框元素设置一个全新的设计。


32. 基于文件类型的链接样式
  1. /* external links */
  2. a[href^="http://"] {
  3. padding-right: 13px;
  4. background: url('external.gif') no-repeat center rightright;
  5. }
  6. /* emails */
  7. a[href^="mailto:"] {
  8. padding-right: 20px;
  9. background: url('email.png') no-repeat center rightright;
  10. }
  11. /* pdfs */
  12. a[href$=".pdf"] {
  13. padding-right: 18px;
  14. background: url('acrobat.png') no-repeat center rightright;
  15. }

Code
Source


       相当晦涩的一段CSS代码。但我喜欢它的创造力!你能够决定使用CSS选择器的链接的文件类型,并以图标作为背景图片。这些能够包括不同的协议(HTTP, FTP, IRC, mailto)或简单的仅仅是它们自己的文件类型(mp3, avi, pdf)。

33. 强制代码包装
  1. pre {
  2. whitewhite-space: pre-wrap;       /* css-3 */
  3. whitewhite-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
  4. whitewhite-space: -pre-wrap;      /* Opera 4-6 */
  5. whitewhite-space: -o-pre-wrap;    /* Opera 7 */
  6. word-wrap: break-word;       /* Internet Explorer 5.5+ */
  7. }

Code
Source


       典型的pre标签是在布局中用来显示大块代码的。

这是预编排的文本,就像你在Notepad或Textedit发现的那样。除非你常常看的是引起水平滚动栏的一长段文字。这段CSS代码将强制全部pre标签为封装代码格式。不会跑到容器外面去。


34.强制可点击条目上显示手型光标
  1. a[href], input[type='submit'], input[type='image'], label[for], select, button, .pointer {
  2. cursor: pointer;
  3. }

Code
Source


      有很多默认的可点击HTML元素并不总是显示手型的指针图标。

使用这个CSS选择器设置。你能够对很多关键的元素以及不论什么使用 .pointer类的其他对象,强制指定指针的形状。


35. 网页顶端阴影
  1. body:before {
  2. content: "";
  3. position: fixed;
  4. top: -10px;
  5. left: 0;
  6. width: 100%;
  7. height: 10px;
  8. -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
  9. -moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
  10. box-shadow: 0px 0px 10px rgba(0,0,0,.8);
  11. z-index: 100;
  12. }

Code
Source


      除了一些令人愉悦的美感,开发人员可能找不到它会有多大用处。

但我确实享受这个效果,并且显然它是独一无二的!仅仅需将这个CSS 代码附加到你的body元素。就能从你的页面顶部往下显示一个渐渐消退的阴影。


36. CSS3 对话气泡
  1. .chat-bubble {
  2. background-color: #ededed;
  3. border: 2px solid #666;
  4. font-size: 35px;
  5. line-height: 1.3em;
  6. margin: 10px auto;
  7. padding: 10px;
  8. position: relative;
  9. text-align: center;
  10. width: 300px;
  11. -moz-border-radius: 20px;
  12. -webkit-border-radius: 20px;
  13. -moz-box-shadow: 0 0 5px #888;
  14. -webkit-box-shadow: 0 0 5px #888;
  15. font-family: 'Bangers', arial, serif;
  16. }
  17. .chat-bubble-arrow-border {
  18. border-color: #666 transparent transparent transparent;
  19. border-style: solid;
  20. border-width: 20px;
  21. height: 0;
  22. width: 0;
  23. position: absolute;
  24. bottom: -42px;
  25. left: 30px;
  26. }
  27. .chat-bubble-arrow {
  28. border-color: #ededed transparent transparent transparent;
  29. border-style: solid;
  30. border-width: 20px;
  31. height: 0;
  32. width: 0;
  33. position: absolute;
  34. bottom: -39px;
  35. left: 30px;
  36. }

Code
Source

       每当讨论到对话气泡时,无数的用户界面用途就会浮现出来。这些能够用于处理讨论评述,或者创建公告版,或者显示引用文本。仅仅需将以下的类增加你的样式表。你也能够从这贴
CSS3代码片段
  找到相关的HTML代码。

37. 默认的 H1-H5 题头

  1. h1,h2,h3,h4,h5{
  2. color: #005a9c;
  3. }
  4. h1{
  5. font-size: 2.6em;
  6. line-height: 2.45em;
  7. }
  8. h2{
  9. font-size: 2.1em;
  10. line-height: 1.9em;
  11. }
  12. h3{
  13. font-size: 1.8em;
  14. line-height: 1.65em;
  15. }
  16. h4{
  17. font-size: 1.65em;
  18. line-height: 1.4em;
  19. }
  20. h5{
  21. font-size: 1.4em;
  22. line-height: 1.25em;
  23. }

Code
Source


       我已经提供了很多常见的语法,包括浏览器CSS重置以及一些HTML元素重置。这个模板包括了全部从H1-H5的基本的题头元素的默认样式。

你或许会想添加H6,但我却从未见过有站点使用全部六个嵌套的题头。


38.纯CSS背景噪声

  1. body {
  2. background-image: url(data:image/png;base64,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);
  3. background-color: #0094d0;
  4. }

Code
Source


        设计师已经看到站点中增加这个效果有非常长时间了。尽管他们一般是使用具有透明度的反复的瓷砖图像。可是我们能够给CSS嵌入Base64编码来生成全新的图像。

在上面代码片段的样例中。是在body背景上产生了一个小小的噪声纹理,你也能够在噪声纹理发生器创建一个自己定义的噪声背景。


39. 继续列表排序

  1. ol.chapters {
  2. list-style: none;
  3. margin-left: 0;
  4. }
  5. ol.chapters > li:before {
  6. content: counter(chapter) ". ";
  7. countercounter-increment: chapter;
  8. font-weight: bold;
  9. float: left;
  10. width: 40px;
  11. }
  12. ol.chapters li {
  13. clear: left;
  14. }
  15. ol.start {
  16. countercounter-reset: chapter;
  17. }
  18. ol.continue {
  19. countercounter-reset: chapter 11;
  20. }

Code
Source


      我认为这或许不是特别流行的代码段,但它在开发人员中确实具有市场。可能有一种情况,你须要继续一个列表项目。而它却被切割为两个独立的 UL元素。查看上面的代码来找寻一个非常好的纯CSS修复方案。

40. CSS悬停工具提示

  1. a {
  2. border-bottom:1px solid #bbb;
  3. color:#666;
  4. display:inline-block;
  5. position:relative;
  6. text-decoration:none;
  7. }
  8. a:hover,
  9. a:focus {
  10. color:#36c;
  11. }
  12. a:active {
  13. top:1px;
  14. }
  15. /* Tooltip styling */
  16. a[data-tooltip]:after {
  17. border-top: 8px solid #222;
  18. border-top: 8px solid hsla(0,0%,0%,.85);
  19. border-left: 8px solid transparent;
  20. border-right: 8px solid transparent;
  21. content: "";
  22. display: none;
  23. height: 0;
  24. width: 0;
  25. left: 25%;
  26. position: absolute;
  27. }
  28. a[data-tooltip]:before {
  29. background: #222;
  30. background: hsla(0,0%,0%,.85);
  31. color: #f6f6f6;
  32. content: attr(data-tooltip);
  33. display: none;
  34. font-family: sans-serif;
  35. font-size: 14px;
  36. height: 32px;
  37. left: 0;
  38. line-height: 32px;
  39. padding: 0 15px;
  40. position: absolute;
  41. text-shadow: 0 1px 1px hsla(0,0%,0%,1);
  42. whitewhite-space: nowrap;
  43. -webkit-border-radius: 5px;
  44. -moz-border-radius: 5px;
  45. -o-border-radius: 5px;
  46. border-radius: 5px;
  47. }
  48. a[data-tooltip]:hover:after {
  49. display: block;
  50. top: -9px;
  51. }
  52. a[data-tooltip]:hover:before {
  53. display: block;
  54. top: -41px;
  55. }
  56. a[data-tooltip]:active:after {
  57. top: -10px;
  58. }
  59. a[data-tooltip]:active:before {
  60. top: -42px;
  61. }

Code
Source


       有很多开源的基于jQuery的工具提示,你能够在你的站点上实施。但基于CSS的工具提示很罕见,这个是我很喜欢的代码段之中的一个。仅仅要拷贝到你的样式表。并使用新的HTML5数据属性,你就能通过data-tooltip设置工具提示文本。

41. 暗灰色的圆形button

  1. .graybtn {
  2. -moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
  3. -webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
  4. box-shadow:inset 0px 1px 0px 0px #ffffff;
  5. background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #d1d1d1) );
  6. background:-moz-linear-gradient( center top, #ffffff 5%, #d1d1d1 100% );
  7. filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#d1d1d1');
  8. background-color:#ffffff;
  9. -moz-border-radius:6px;
  10. -webkit-border-radius:6px;
  11. border-radius:6px;
  12. border:1px solid #dcdcdc;
  13. display:inline-block;
  14. color:#777777;
  15. font-family:arial;
  16. font-size:15px;
  17. font-weight:bold;
  18. padding:6px 24px;
  19. text-decoration:none;
  20. text-shadow:1px 1px 0px #ffffff;
  21. }
  22. .graybtn:hover {
  23. background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #d1d1d1), color-stop(1, #ffffff) );
  24. background:-moz-linear-gradient( center top, #d1d1d1 5%, #ffffff 100% );
  25. filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d1d1d1', endColorstr='#ffffff');
  26. background-color:#d1d1d1;
  27. }
  28. .graybtn:active {
  29. position:relative;
  30. top:1px;
  31. }

Code
Source


       作为又一个对web开发人员有帮助的模板,我列入了这个简单的CSS3button类。我使用了 .graybtn的类名,显示了对应的颜色。但这不是说你不能改变样式适应你自己的站点。在色轮中查验十六进制数值,以便从不同的颜色范围找到匹配的近似色调。

42.在一个打印页面显示URLS

  1. @media print   {
  2. a:after {
  3. content: " [" attr(href) "] ";
  4. }
  5. }

Code
Source


      假设你执行一个新闻站点或者管理有很多打印素材的资源,这可能是你能找到的最好的代码段之中的一个了。页面中的锚链接将看上去与普通样子显示一致。但当打印时。你的用户将会看到链接文本具有超链接的URL。这对须要訪问你链接的网页。但在特定的打印文档中却看不到URL的人来说。很方便。

43. 禁用移动Webkit高亮

  1. body {
  2. -webkit-touch-callout: none;
  3. -webkit-user-select: none;
  4. -khtml-user-select: none;
  5. -moz-user-select: none;
  6. -ms-user-select: none;
  7. user-select: none;
  8. }

      依据你从事移动方面的经验。这段代码或许不是很实用。

但当用 Safari或其他基于Webkit引擎的浏览器訪问移动站点时,你会注意到你一点击它们就会有一个环绕着元素的灰色盒子。仅仅要添加这些样式到你的站点,就能够移除全部原生的移动浏览器的高亮效果。


44. CSS3 带圆点的图案

  1. body {
  2. background: radial-gradient(circle, white 10%, transparent 10%),
  3. radial-gradient(circle, white 10%, black 10%) 50px 50px;
  4. background-size: 100px 100px;
  5. }

Code
Source


      最初在线发现这个代码段的时候,我有一点惊讶。但这真的是即兴创建纯CSS3的BG模式的有趣方法。我设置body元素为默认目标,但你能够将它引用到页面中的不论什么div容器。

45. CSS3 方格图案

  1. body {
  2. background-color: white;
  3. background-image: linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black),
  4. linear-gradient(45deg, black 25%, transparent 25%, transparent 75%, black 75%, black);
  5. background-size: 100px 100px;
  6. background-position: 0 0, 50px 50px;
  7. }

Code
Source


      与上面圆点花纹类似,我们也能够创建一个天衣无缝的方格图案。这种方法执行起来须要很多其它的一点语法,但在全部支持CSS3的浏览器中它看上去完美无缺。相同你也能够改变黑与白的颜色数值,以便匹配你自己站点的配色方案。

46. Github Fork 缎带

  1. .ribbon {
  2. background-color: #a00;
  3. overflow: hidden;
  4. /* top left corner */
  5. position: absolute;
  6. left: -3em;
  7. top: 2.5em;
  8. /* 45 deg ccw rotation */
  9. -moz-transform: rotate(-45deg);
  10. -webkit-transform: rotate(-45deg);
  11. /* shadow */
  12. -moz-box-shadow: 0 0 1em #888;
  13. -webkit-box-shadow: 0 0 1em #888;
  14. }
  15. .ribbon a {
  16. border: 1px solid #faa;
  17. color: #fff;
  18. display: block;
  19. font: bold 81.25% 'Helvetiva Neue', Helvetica, Arial, sans-serif;
  20. margin: 0.05em 0 0.075em 0;
  21. padding: 0.5em 3.5em;
  22. text-align: center;
  23. text-decoration: none;
  24. /* shadow */
  25. text-shadow: 0 0 0.5em #444;
  26. }

Code
Source


       作为一个 Github大用户。这段基础代码令我印象深刻。你能够使用CSS3的转换属性,高速的创建Github 角落缎带。

对开源插件或Github上有众多追随的代码包来说这非常完美。假设你有一个活跃的Github套件库的话,对托管的HTML/CSS/JS演示来说也非常棒。


47. 压缩的 CSS 字体属性

  1. p {
  2. font: italic small-caps bold 1.2em/1.0em Arial, Tahoma, Helvetica;
  3. }

Code
Source


       web开发人员不常常使用这个压缩的字体属性的主要原因。在于不是全部设置都是须要的。但对这个速记方法有所理解能够使你在样式表上节省很多时间与空间。在你想要缩短你的字体样式格式的时候,使用这个代码片段。

48. 页面卷曲效果

  1. ul.box {
  2. position: relative;
  3. z-index: 1; /* prevent shadows falling behind containers with backgrounds */
  4. overflow: hidden;
  5. list-style: none;
  6. margin: 0;
  7. padding: 0;
  8. }
  9. ul.box li {
  10. position: relative;
  11. float: left;
  12. width: 250px;
  13. height: 150px;
  14. padding: 0;
  15. border: 1px solid #efefef;
  16. margin: 0 30px 30px 0;
  17. background: #fff;
  18. -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
  19. -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
  20. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
  21. }
  22. ul.box li:before,
  23. ul.box li:after {
  24. content: '';
  25. z-index: -1;
  26. position: absolute;
  27. left: 10px;
  28. bottom: 10px;
  29. width: 70%;
  30. max-width: 300px; /* avoid rotation causing ugly appearance at large container widths */
  31. max-height: 100px;
  32. height: 55%;
  33. -webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
  34. -moz-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
  35. box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
  36. -webkit-transform: skew(-15deg) rotate(-6deg);
  37. -moz-transform: skew(-15deg) rotate(-6deg);
  38. -ms-transform: skew(-15deg) rotate(-6deg);
  39. -o-transform: skew(-15deg) rotate(-6deg);
  40. transform: skew(-15deg) rotate(-6deg);
  41. }
  42. ul.box li:after {
  43. left: auto;
  44. right: 10px;
  45. -webkit-transform: skew(15deg) rotate(6deg);
  46. -moz-transform: skew(15deg) rotate(6deg);
  47. -ms-transform: skew(15deg) rotate(6deg);
  48. -o-transform: skew(15deg) rotate(6deg);
  49. transform: skew(15deg) rotate(6deg);
  50. }

Code
Source

      这个页面卷曲效果差点儿能够应用于不论什么包括站点内容的容器。

我马上会想到图像媒体和引用文本,但这个才干真正做到不论什么对象。查看这段代码的在线演示页 ,以便对这些页面怎样实现卷曲功能有更好的理解。


49.发光锚链接

  1. a {
  2. color: #00e;
  3. }
  4. a:visited {
  5. color: #551a8b;
  6. }
  7. a:hover {
  8. color: #06e;
  9. }
  10. a:focus {
  11. outline: thin dotted;
  12. }
  13. a:hover, a:active {
  14. outline: 0;
  15. }
  16. a, a:visited, a:active {
  17. text-decoration: none;
  18. color: #fff;
  19. -webkit-transition: all .3s ease-in-out;
  20. }
  21. a:hover, .glow {
  22. color: #ff0;
  23. text-shadow: 0 0 10px #ff0;
  24. }

Code
Source

     CSS3 的文本阴影提供了一个独特的网页排版制定方法。更确切的说,这个片段是很好的制定富有创意的鼠标悬停发光特效的资源。尽管我并不觉得这个特效可以毫无失调的融入大多数站点,但假设你有耐心调整它,你一定可以打动訪问者。

50. 饶有特色的 CSS3 展示横条

  1. .featureBanner {
  2. position: relative;
  3. margin: 20px
  4. }
  5. .featureBanner:before {
  6. content: "Featured";
  7. position: absolute;
  8. top: 5px;
  9. left: -8px;
  10. padding-right: 10px;
  11. color: #232323;
  12. font-weight: bold;
  13. height: 0px;
  14. border: 15px solid #ffa200;
  15. border-right-color: transparent;
  16. line-height: 0px;
  17. box-shadow: -0px 5px 5px -5px #000;
  18. z-index: 1;
  19. }
  20. .featureBanner:after {
  21. content: "";
  22. position: absolute;
  23. top: 35px;
  24. left: -8px;
  25. border: 4px solid #89540c;
  26. border-left-color: transparent;
  27. border-bottom-color: transparent;
  28. }

Code
Source


       通常,要在其他浏览器复制这个效果,你须要设置一张背景图片。但在支持 CSS3 的浏览器终,我们可以配置 悬挂在文本封装边缘的动态横条。无需图片!

这似乎可以非常好的配合电子商务产品、图像缩略图、视频预览、或博客文章,用以列出了一些想法。


转载请注明:来至微个日光日

前端技术交流群:139761568