20个很有很有很有用的CSS技巧
1.placeholder的颜色值设置
input::-webkit-input-placeholder{color:#AAAAAA;}
input:focus::-webkit-input-placeholder{color:#EEEEEE;}
 
2.双飞翼布局
<style type="text/css">
    .box-main,.box-left,.box-right{float:left;height: 50px;}
    .box{padding: 0 300px;min-width: 400px;}
    .box-main{background: #03a9f4;width: 100%;}
    .box-left{background: #00bcd4;width: 300px;margin-left: -100%;position: relative;left: -300px;}
    .box-right{background: #00bcd4;width: 300px;margin-left: -300px;position: relative;right: -300px;}
</style>  
<div class="box">
    <div class="box-main">主体</div>
    <div class="box-left">左侧</div>
    <div class="box-right">右侧</div>
</div>
 
3. 黑白图像
//这段代码会让你的彩色照片显示为黑白照片
img.desaturate {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
}
 
4.禁止ios 长按时不触发系统的菜单,禁止ios&android长按时下载图片
.css{-webkit-touch-callout: none}
 
5.禁止ios和android用户选中文字
.css{-webkit-user-select:none}
 
6. 使用 :not() 在菜单上应用/取消应用边框
//先给每一个li菜单项添加边框
.nav li {
  border-right: 1px solid #666;
}
//然后再除去最后一个元素
.nav li:last-child {
  border-right: none;
}
//直接使用 :not() 伪类来应用元素
.nav li:not(:last-child) {
  border-right: 1px solid #666;
}
 
7. 页面顶部阴影
//下面这个简单的 css3 代码片段可以给网页加上漂亮的顶部阴影效果:
body:before {
	content: "";
	position: fixed;
	top: -10px;
	left: 0;
	width: 100%;
	height: 10px;
	-webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
	-moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
	box-shadow: 0px 0px 10px rgba(0,0,0,.8);
	z-index: 100;
}
 
8. 给 body 添加行高
//不需要分别添加 line-height 到每个p,h标记等。只要添加到 body 即可:
body {
  line-height: 1;
}
 
9. 所有一切都垂直居中
//注:在IE11中要小心flexbox。
html, body {
  height: 100%;
  margin: 0;
}
body {
  -webkit-align-items: center;  
  -ms-flex-align: center;  
  align-items: center;
  display: -webkit-flex;
  display: flex;
}
 
10. 逗号分隔的列表
//让HTML列表项看上去像一个真正的,用逗号分隔的列表(如下图):
ul > li:not(:last-child)::after {
  content: ",";
}
 
11. 使用负的 nth-child 选择项目
//在CSS中使用负的 nth-child 选择项目1到项目n。
li {
  display: none;
}
li:nth-child(-n+3) {
  display: block;
}
 
12. 对图标使用 SVG
//SVG对所有的分辨率类型都具有良好的扩展性 并支持所有浏览器都回归到IE9了。
.logo {
  background: url("logo.svg");
}
 
13. 优化显示文本
//有时,字体并不能在所有设备上都达到最佳的显示,所以可以让设备浏览器来帮助你:
html {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
 
14. 旋转动画
//loading图的旋转动画
.loading{
	animation: changehovertree 1.5s linear infinite;
	-webkit-animation: changehovertree 1.5s linear infinite;
}
@-webkit-keyframes changehovertree {
	0% {-webkit-transform:rotate(0)}
	50% {-webkit-transform:rotate(180deg)}
	100% {-webkit-transform:rotate(360deg)}
}
@keyframes changehovertree {
	0% {transform:rotate(0)}
	50% {transform:rotate(180deg)}
	100% {transform:rotate(360deg)}
}
 
15. 继承 box-sizing
//让 box-sizing 继承 html:
html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
 
16. 文本溢出
/*单行文本溢出*/  
.ellipsis{
    white-space:nowrap  ;
    text-overflow:ellipsis;
    overflow:hidden
}  
/*多行文本溢出*/  
.ellipsis{
    display: -webkit-box!important;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;      //展示3行 
}  
 
17.CSS 写出三角形
//利用border来写三角形代码,并且兼容IE6.
/* create an arrow that points up */
div.arrow-up {
  width:0px;
  height:0px;
  border-left:5px solid transparent;  /* left arrow slant */
  border-right:5px solid transparent; /* right arrow slant */
  border-bottom:5px solid #2f2f2f; /* bottom, add background color here */
  font-size:0px;
  line-height:0px;
}
 
/* create an arrow that points down */
div.arrow-down {
  width:0px;
  height:0px;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:5px solid #2f2f2f;
  font-size:0px;
  line-height:0px;
}
 
/* create an arrow that points left */
div.arrow-left {
  width:0px;
  height:0px;
  border-bottom:5px solid transparent;  /* left arrow slant */
  border-top:5px solid transparent; /* right arrow slant */
  border-right:5px solid #2f2f2f; /* bottom, add background color here */
  font-size:0px;
  line-height:0px;
}
 
/* create an arrow that points right */
div.arrow-right {
  width:0px;
  height:0px;
  border-bottom:5px solid transparent;  /* left arrow slant */
  border-top:5px solid transparent; /* right arrow slant */
  border-left:5px solid #2f2f2f; /* bottom, add background color here */
  font-size:0px;
  line-height:0px;
}
 
18.文本渐变
h2 {
	display: inline-block;
	color: green;
	font-size: 30px;
	background-image: -webkit-gradient(linear, 0 0, 0 bottom, from(rgba(0, 128, 0, 1)), to(rgba(51, 51, 51, 1)));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
 
19. 禁用鼠标事件
//链接如果设置了下面的样式就无法点击了
.disabled { 
	pointer-events: none; 
}
 
20. 文本模糊
.blur {
   color: transparent;
   text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
 
                    
                
                
            
        
浙公网安备 33010602011771号