集锦有用的CSS技巧代码段
1、垂直对齐
如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,可以很优雅的解决这个困惑:
1 | .verticalcenter{ |
使用这个技巧,从单行文本、段落到box,都会垂直对齐。目前浏览器对Transform的支持是需要关注的,Chrome 4, Opera 10, Safari 3, Firefox 3, and Internet Explorer 9.均支持该属性。
2、伸展一个元素到窗口高度
在具体场景中,你可能想要将一个元素伸展到窗口高度,基本元素的调整只能调整容器的大小,因此要使一个元素伸展到窗口高度,我们需要伸展顶层元素:html和body:
1 | html,body{ |
然后将100%应用到任何元素的高:
1 | div{height: 100%;} |
3、基于文件格式使用不同的样式
为了更容易知道链接的目标,有时你想让一些链接看起来和其它的不同。下面的片段在文本链接前添加一个图标,对不同的资源使用不同的图标或图片:
1 | a[href^="http://"]{ |
4、创建跨浏览器的图像灰度
灰度有时看起来简约和优雅,能为网站呈现更深层次的色调。在示例中,我们将对一个SVG图像添加灰度过滤:
1 | <svg xmlns="http://www.w3.org/2000/svg"> |
为了跨浏览器,会用到filter属性:
1 | img { |
5、背景渐变动画
CSS中最具诱惑的一个功能是能添加动画效果,除了渐变,你可以给背景色、透明度、元素大小添加动画。目前,你不能为渐变添加动画,但下面的代码可能有帮助。它通过改变背景位置,让它看起来有动画效果。
1 | button{ |
6、CSS:表格列宽自适用
对于表格,当谈到调整列宽时,是比较痛苦的。然后,这里有一个可以使用的技巧:给td元素添加 white-space: nowrap;能让文本正确的换行
1 | td{white-space: nowrap;} |
7、只在一边或两边显示盒子阴影
如果你要一个盒阴影,试试这个技巧,能为任一边添加阴影。为了实现这个,首先定义一个有具体宽高的盒子,然后正确定位:after伪类。实现底边阴影的代码如下:
1 | .box-shadow{ |
8、包裹长文本
如果你碰到一个比自身容器长的文本,这个技巧对你很有用。在这个示例中,默认时,不管容器的宽度,文本都将水平填充。
简单的CSS代码就能在容器中调整文本:
1 | pre{ |
效果看起来如下:
9、制造模糊文本
想要让文本模糊?可以使用color透明和text-shadow实现。
1 | .blurry-text { |
10、用CSS动画实现省略号动画
这个片段将帮助你制造一个ellipsis的动画,对于简单的加载状态是很有用的,而不用去使用gif图像。
1 | .loading:after { |
11、样式重置
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{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} |
12、典型的CSS清除浮动
1 | .clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } |
13、新版清除浮动(2011)
1 | .clearfix:before, .container:after { content: ""; display: table; } |
14、跨浏览器的透明
1 | .transparent { |
15、CSS引用模板
1 | blockquote{background:#f9f9f9;border-left:10px solid #ccc;margin:1.5em 10px;padding:.5em 10px;quotes:"\201C""\201D""\2018""\2019"} |
16、个性圆角
1 | #container { |
17、通用媒体查询
1 | /* Smartphones (portrait and landscape) ----------- */ |
18、现代字体栈
1 | /* Times New Roman-based serif */ |
19、自定义文本选择
1 | ::selection { background: #e2eae2; } |
20、为logo隐藏H1
1 | h1 { |
21、图片边框偏光
1 | img.polaroid { |
22、锚链接伪类
1 | a:link{color:blue} |
23、奇特的CSS引用
1 | .has-pullquote:before { |
24、CSS3:全屏背景
1 | html { |
25、内容垂直居中
1 | .container { |
26、强制出现垂直滚动条
1 | html { height: 101% } |
27、CSS3渐变模板
1 | #colorbox { |
28、@font-face模板
1 | @font-face { |
29、缝合CSS3元素
1 | p { |
30、CSS3 斑马线
1 | tbody tr:nth-child(odd) {background-color: #ccc;} |
31、有趣的&
1 | .amp { |
32、大字段落
1 | p:first-letter { |
33、内部CSS3 盒阴影
1 | #mydiv { |
34、外部CSS3 盒阴影
1 | #mydiv { |
35、三角形列表项目符号
1 | ul { |
36、固定宽度的居中布局
1 | #page-wrap { |
37、CSS3 列文本
1 | #columns-3 { |
38、CSS固定页脚
1 | #footer { |
39、IE6的PNG透明修复
1 | .bg { |
40、跨浏览器设置最小高度
1 | #container { |
41、CSS3 鲜艳的输入
1 | input[type=text], textarea { |
42、基于文件类型的链接样式
1 | /* external links */ |
43、强制换行
1 | pre{ |
44、在可点击的项目上强制手型
1 | a[href], input[type='submit'], input[type='image'], label[for], select, button, .pointer {cursor: pointer;} |
45、网页顶部盒阴影
1 | body:before { |
46、CSS3对话气泡
1 | .chat-bubble { |
47、H1-H5默认样式
1 | h1, h2, h3, h4, h5 {color: #005a9c;} |
48、纯CSS背景噪音
1 | body { |
49、持久的列表排序
1 | ol.chapters { |
50、CSS悬浮提示文本
1 | a { |
51、深灰色的圆形按钮
1 | .graybtn { |
52、在可打印的网页中显示URLs
1 | @media print { |
53、禁用移动Webkit的选择高亮
1 | body { |
54、CSS3 圆点图案
1 | body { |
55、CSS3 方格图案
1 | body { |
56、Github的fork色带
1 | .ribbon { |
57、CSS font属性缩写
1 | p{font: italic small-caps bold 1.2em/1.0em Arial, Tahoma, Helvetica;} |
58、论文页面的卷曲效果
1 | ul.box { |
59、鲜艳的锚链接
1 | a{color:#00e} |
60、带CSS3特色的横幅显示
1 | .featureBanner{position:relative;margin:20px} |