博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
30+有用的CSS代码片段
阅读量:6709 次
发布时间:2019-06-25

本文共 11207 字,大约阅读时间需要 37 分钟。

在一篇文章中收集所有的CSS代码片段几乎是不可能的事情,但是我们这里列出了一些相对于其他的更有用的代码片段,不要被这些代码的长度所吓到,因为它们都很容易实现,并且具有良好的文档。除了那些解决常见的恼人的问题外,也包含了一些解决新问题的新技术。

 1. 垂直对齐

  如果你之前遇到过这个问题,你就应该知道它是多么的烦人,幸运的是,现在你可以使用CSS3变换来解决这个问题:

.vc{    position: relative;    top: 50%;    -webkit-transform: translateY(-50%);    -o-transform: translateY(-50%);    transform: translateY(-50%);}

 2. 只在一侧或者两侧具有投影

.box-shadow {    background-color: #AC92EC;    width: 160px;    height: 90px;    margin-top: -45px;    margin-left: -80px;    position: absolute;    top: 50%;    left: 50%;}.box-shadow:after {    content: "";    width: 150px;    height: 1px;    margin-top: 88px;    margin-left: -75px;    display: block;    position: absolute;    left: 50%;    z-index: -1;    -webkit-box-shadow: 0px 0px 8px 2px #000000;       -moz-box-shadow: 0px 0px 8px 2px #000000;            box-shadow: 0px 0px 8px 2px #000000;}

 3. 渐变背景动画效果

  从CSS3开始,动画变得非常的酷了,但是切不可过分的使用它们。下面这一技巧巧妙地的移动背景位置,使其看起来像动画一样:

button {    padding: 15px;    background-image: linear-gradient(#FC6E51, #FFF);    background-size: auto 200%;    background-position: 0 100%;    transition: background-position 0.5s;}    button:hover {    background-position: 0 0;}

 4. 将文本分成多列

div{    -moz-column-count:3; /* Firefox */    -webkit-column-count:3; /* Safari and Chrome */    column-count:3;}

 5. 表格自动宽度

td {    white-space: nowrap;}

 6. 像出版物一样,第一个字变得大些

p:first-child::first-letter{  font-family: "papyrus";  font-size: 28px;  font-weight: bold;}

 7. 特定浏览器的CSS Hacks的完整列表

  有时候解决跨浏览器兼容性可能会非常的棘手,但这些特定浏览器的技巧可能会帮你解决问题。

/***** Selector Hacks ******/  /* IE6 and below */* html #uno  { color: red }  /* IE7 */*:first-child+html #dos { color: red }   /* IE7, FF, Saf, Opera  */html>body #tres { color: red }  /* IE8, FF, Saf, Opera (Everything but IE 6,7) */html>/**/body #cuatro { color: red }  /* Opera 9.27 and below, safari 2 */html:first-child #cinco { color: red }  /* Safari 2-3 */html[xmlns*=""] body:last-child #seis { color: red }  /* safari 3+, chrome 1+, opera9+, ff 3.5+ */body:nth-of-type(1) #siete { color: red }  /* safari 3+, chrome 1+, opera9+, ff 3.5+ */body:first-of-type #ocho {  color: red }  /* saf3+, chrome1+ */@media screen and (-webkit-min-device-pixel-ratio:0) { #diez  { color: red  }}  /* iPhone / mobile webkit */@media screen and (max-device-width: 480px) { #veintiseis { color: red  }}    /* Safari 2 - 3.1 */html[xmlns*=""]:root #trece  { color: red  }  /* Safari 2 - 3.1, Opera 9.25 */*|html[xmlns*=""] #catorce { color: red  }  /* Everything but IE6-8 */:root *> #quince { color: red  }  /* IE7 */*+html #dieciocho {  color: red }  /* Firefox only. 1+ */#veinticuatro,  x:-moz-any-link  { color: red }  /* Firefox 3.0+ */#veinticinco,  x:-moz-any-link, x:default  { color: red  }      /***** Attribute Hacks ******/  /* IE6 */#once { _color: blue }  /* IE6, IE7 */#doce { *color: blue; /* or #color: blue */ }  /* Everything but IE6 */#diecisiete { color/**/: blue }  /* IE6, IE7, IE8 */#diecinueve { color: blue\9; }  /* IE7, IE8 */#veinte { color/*\**/: blue\9; }  /* IE6, IE7 -- acts as an !important */#veintesiete { color: blue !ie; } /* string after ! can be anything */

 8. 创建模糊文本

.blurry-text {   color: transparent;   text-shadow: 0 0 5px rgba(0,0,0,0.5);}

 9. 不使用表格实现跨浏览器垂直水平居中图片

  这段代码可以在一个已知宽高的容器内垂直水平居中一个未知大小的图片,这是 IE 的一个hack:

.logo { display: block; text-align: center; display: block; text-align: center; vertical-align: middle; border: 4px solid #dddddd; padding: 4px; height: 74px; width: 74px; } .logo * { display: inline-block; height: 100%; vertical-align: middle; } .logo .photo { height: auto; width: auto; max-width: 100%; max-height: 100%; }

 10. 高亮选中的 input

// HTML
// CSSinput:checked + label{ background: yellow; }

 11. 跨浏览器透明度

selector {    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 */}

 12. CSS投影

// 外投影.shadow {  -moz-box-shadow: 5px 5px 5px #ccc;  -webkit-box-shadow: 5px 5px 5px #ccc;  box-shadow: 5px 5px 5px #ccc;}// 内投影.shadow {   -moz-box-shadow:inset 0 0 10px #000000;   -webkit-box-shadow:inset 0 0 10px #000000;   box-shadow:inset 0 0 10px #000000;}

 13. 跨浏览器最小高度

#div {   min-height: 500px;   height:auto !important;   height: 500px;}

 14. 固定 Footer

#footer {   position:fixed;   left:0px;   bottom:0px;   height:30px;   width:100%;   background:#999;} /* IE 6 */* html #footer {   position:absolute;   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');}

 15. 清除浮动 Clearfix

/* slightly enhanced, universal clearfix hack */.clearfix:after {     visibility: hidden;     display: block;     font-size: 0;     content: " ";     clear: both;     height: 0;     }.clearfix { display: inline-block; }/* start commented backslash hack \*/* html .clearfix { height: 1%; }.clearfix { display: block; }/* close commented backslash hack */

 16. 给可点击元素添加手型光标

a[href], input[type='submit'], input[type='image'], label[for], select, button, .pointer {       cursor: pointer;}

 17. iPad 定向CSS

@media only screen and (max-device-width: 1024px) and (orientation:portrait) { .landscape { display: none; }}@media only screen and (max-device-width: 1024px) and (orientation:landscape) { .portrait { display: none; }}

Your device orientation is "portrait"

Your device orientation is "landscape"

 18. Pre 标签内文本换行

pre{height: 120px;overflow: auto;font-family: “Consolas”,monospace;font-size: 9pt;text-align:left;background-color: #FCF7EC;overflow-x: auto; /* Use horizontal scroller if needed; for Firefox 2, notwhite-space: pre-wrap; /* css-3 */white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */word-wrap: break-word; /* Internet Explorer 5.5+ */margin: 0px 0px 0px 0px;padding:5px 5px 3px 5px;white-space : normal; /* crucial for IE 6, maybe 7? */}

 19. CSS3媒体查询

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

 20. 重置加载

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, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td {    margin: 0;    padding: 0;    border: 0;    outline: 0;    font-weight: inherit;    font-style: inherit;    font-size: 100%;    font-family: inherit;    vertical-align: baseline;}/* remember to define focus styles! */:focus {    outline: 0;}body {    line-height: 1;    color: black;    background: white;}ol, ul {    list-style: none;}/* tables still need 'cellspacing="0"' in the markup */table {    border-collapse: separate;    border-spacing: 0;}caption, th, td {    text-align: left;    font-weight: normal;}blockquote:before, blockquote:after,q:before, q:after {    content: "";}blockquote, q {    quotes: "" "";}

 21. 多边框

元素必须是相对定位,且具有足够的padding来显示多余的边框:

#borders {   position:relative;   z-index:1;   padding:30px;   border:5px solid #f00;   background:#ff9600;}#borders:before {   content:"";   position:absolute;   z-index:-1;   top:5px;   left:5px;   right:5px;   bottom:5px;   border:5px solid #ffea00;   background:#4aa929;} #borders:after {   content:"";   position:absolute;   z-index:-1;   top:15px;   left:15px;   right:15px;   bottom:15px;   border:5px solid #00b4ff;   background:#fff;}

 22. 移除IE中textarea的滚动条

textarea { overflow: auto; }

 23. 简单但好看的引用样式

blockquote {    background:#f9f9f9;    border-left:10px solid #ccc;    margin:1.5em 10px;    padding:.5em 10px;    quotes:"\201C""\201D""\2018""\2019";}blockquote:before {    color:#ccc;    content:open-quote;    font-size:4em;    line-height:.1em;    margin-right:.25em;    vertical-align:-.4em;}blockquote p {    display:inline;}

 24. :-moz-placeholder

  Placeholder demo    

 25. 另一种固定footer的方式

* { margin:0; padding:0; }  html, body, #wrap { height: 100%; } body > #wrap {height: auto; min-height: 100%;} #main { padding-bottom: 150px; }  /* must be same height as the footer */ #footer {        position: relative;        margin-top: -150px; /* negative value of footer height */        height: 150px;        clear:both;}  /* CLEAR FIX*/.clearfix:after {content: ".";        display: block;        height: 0;        clear: both;        visibility: hidden;}.clearfix {display: inline-block;}/* Hides from IE-mac \*/* html .clearfix { height: 1%;}.clearfix {display: block;}/* End hide from IE-mac */

 26. 背景透明

.rgba {  background-color: transparent;  background-color: rgba(200,200,200,0.8);  filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99dddddd,endColorstr=#99dddddd);  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99dddddd,endColorstr=#99dddddd)";}

 27. 居中未知宽度的DIV元素

.content {    margin: 0 auto 8px;    display: table;    } .content div {    display: table-cell;    } 

 28. 根据文件类型设置样式

/* external links */a[href^="http://"]{padding-right: 13px;background: url(external.gif) no-repeat center right;} /* emails */a[href^="mailto:"]{padding-right: 20px;background: url(email.png) no-repeat center right;} /* pdfs */a[href$=".pdf"]{padding-right: 18px;background: url(acrobat.png) no-repeat center right;}

 29. 解决IE6/7双倍margin/padding问题

ul li{  float: right;  margin-right: 10px;  *display: inline; /*Target IE7 and bellow*/  _display: inline; /*Target IE6 and bellow*/}/* This example fixes the double right margin bug */

 30. 更改选中文本的样式

::selection{color: white;background-color: red;} ::-moz-selection  /* Firefox needs an extra attention for this */{color: white;background-color: red;}

 31. 首字下沉

p:first-letter{        display:block;        margin:5px 0 0 5px;        float:left;        color:#FF3366;        font-size:60px;        font-family:Georgia;    }

转载于:https://www.cnblogs.com/qingsong/p/5114243.html

你可能感兴趣的文章
iOS独立开发者使用Bmob第三方后台服务初探
查看>>
共享适合移动端的“拾色器”插件
查看>>
CPU发生异常到生成Crash Log的过程
查看>>
到底什么才是业务架构?
查看>>
基础设施即代码:Terraform和AWS无服务器
查看>>
Atlassian发布事故管理解决方案Jira Ops
查看>>
书评 —— 《Go语言编程》
查看>>
Apache HBase的现状和发展
查看>>
反模式的经典 - Mockito设计解析
查看>>
Zip Slip目录遍历漏洞已影响多个Java项目
查看>>
独家揭秘:微博深度学习平台如何支撑4亿用户愉快吃瓜?
查看>>
Visual Studio 15.7预览版4改进Git、C++支持
查看>>
全新云服务:亚马逊AWS发布AWS Ground Station\n
查看>>
微软宣布支持基于虚拟机的Azure IOT Edge服务
查看>>
来自社区的Visual Studio Code使用体验和教程
查看>>
高效运维最佳实践:如何做好On-call和事故响应?
查看>>
利用Scikit-Learn和Spark预测Airbnb的listing价格
查看>>
数据建模NoSQL数据库的概念和对象建模符号
查看>>
微软宣布Azure Function支持Python
查看>>
3·15曝光丨智能机器人一年拨打40亿个骚扰电话,6亿人信息已遭泄露!
查看>>