转自https://github.com/jsfront/src/blob/master/css.md
以下是常用的代码收集,没有任何技术含量,只是填坑的积累。转载请注明出处,谢谢。
1. css 2.x
- 文字换行
/*强制不换行*/white-space:nowrap;/*自动换行*/word-wrap: break-word;word-break: normal;/*强制英文单词断行*/word-break:break-all;
- 两端对齐
text-align:justify;text-justify:inter-ideogra
input,button,select,textarea{ outline:none;} textarea{ font-size:13px; resize:none;}
-
ie6: position:fixed
.fixed-top /* position fixed Top */{ position:fixed;bottom:auto;top:0; } * html .fixed-top /* IE6 position fixed Top */{ position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));} *html{ background-image:url(about:blank);background-attachment:fixed;}
- clearfix
.clearfix:after{ visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;} .clearfix{ display:inline-block;} html[xmlns] .clearfix{ display:block;} * html .clearfix{ height:1%;} .clearfix{*zoom: 1;} .clearfix:after{ clear:both;display:table;content:"”;} .clearfix{overflow:hidden;_zoom:1;}
- seperate-table
.tab{ border-collapse:separate;border:1px solid #e0e0e0;} .tab th,.tab td{ padding:3px;font-size:12px;background:#f5f9fb;border:1px solid;border-color:#fff #deedf6 #deedf6 #fff;} .tab th{ background:#edf4f0;} .tab tr.even td{ background:#fff;}
111 | 222 |
---|---|
111 | 222 |
- min-height: 最小高度兼容代码
.minheight500{ min-height:500px;height:auto !important;height:500px;overflow:visible;}
- 鼠标不允许点击
cursor:not-allowed;
- mac font: osx平台字体优化
font-family:"Hiragino Sans GB","Hiragino Sans GB W3",'微软雅黑';
- 文字过多后显示省略号
.ellipsis,.ell{ white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
2. css 3
- title 换行
- 关闭 x 符号
×
- 投影
.b{ box-shadow:inset 1px -1px 0 #f1f1f1;text-shadow:1px 1px 0px #630;} filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#99000000',endColorstr='#99000000');background:rgba(0,0,0,.6); background:rgba(0,0,0,0.5);filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#50000000',endColorstr='#50000000')\9;
::-webkit-input-placeholder {}::-moz-input-placeholder {}input:focus::-webkit-input-placeholder { color: transparent; } -webkit-appearance:none; google边框去除 input[type="search"]{ -webkit-appearance:textfield;} // 去除chrome默认样式 http://i.wanz.im/2011/02/04/remove_border_from_input_type_search/ http://blog.csdn.net/do_it__/article/details/6789699 line-height: normal; /* for non-ie */ line-height: 22px\9; /* for ie */
-
-
阻止默认事件
pointer-events:none;
-webkit-user-modify: read-write-plaintext-only;
:focus{ -webkit-tap-highlight-color:rgba(255, 255, 255, 0); -webkit-user-modify:read-write-plaintext-only;}
- 变灰 gray
html{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url("data:image/svg+xml;utf8, #grayscale"); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(1); }
- firefox 阻止选中
-moz-user-focus:ignore;-moz-user-input:disabled;-moz-user-select:none;
- 箭头
display:block;border:solid transparent;line-height: 0;width:0; height:0;border-top:solid #0288ce;border-width:8px 6px 0 6px;border-style:solid; border-width:7px; border-color:transparent transparent transparent #ff7020;position:absolute;top: 0;left: 0;border-width:20px;border-style:solid;border-color:#d1ddde transparent transparent #d1ddde;
ie6 bug测试,把border-style设为dashed.
- 取消textarea右下角可拖动手柄
resize:none
- 取消chrome form表单的聚焦边框
input,button,select,textarea{ outline:none} textarea{ resize:none}
- 取消a链接的黄色边框
a{ -webkit-tap-highlight-color:rgba(0,0,0,0);}
- 取消input,button焦点或点击时蓝色边框
input{ outline:none;}
- webkit 水平居中
display:-webkit-box;-webkit-box-pack:center; -webkit-box-align: center;position:absolute; top:50%;left:50%;transform:translate(-50%,-50%);
- 取消chrome 搜索x提示
input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration { display: none; }
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset;} input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px white inset; } autocomplete="off"
- 手机版本网页a标记虚线框问题
a:focus { outline:none;-moz-outline:none;}
- 焦点去除背景
-webkit-tap-highlight-color:rgba(255, 255, 255, 0);-webkit-tap-highlight-color:transparent; // i.e. Nexus5/Chrome and Kindle Fire HD 7''
- placeholder占位符颜色自定义
input:-moz-placeholder { color: #369;}::-webkit-input-placeholder { color:#369;}
-webkit-tap-highlight-color:rgba(255,0,0,0.5);-webkit-tap-highlight-color:transparent; /* For some Androids */
- IOS iframe 滚动
-webkit-overflow-scrolling:touch;overflow-y:scroll;
-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;
.blur { -webkit-filter: blur(10px); /* Chrome, Opera */ -moz-filter: blur(10px); -ms-filter: blur(10px); filter: blur(10px); }
- 显示旋转加载图片,
#pullDown .pullDownIcon{ display:inline-block;vertical-align:middle;width:40px;height:40px;background:url(https://github.com/chalecao/chale/blob/master/pull-icon%402x.png) 0 0 no-repeat;-webkit-background-size:40px 80px;background-size:40px 80px;-webkit-transition-property:-webkit-transform;-webkit-transition-duration:250ms} #pullDown .pullDownIcon{ -webkit-transform:rotate(0deg) translateZ(0)} #pullDown .pullDownLabel{ display:inline-block;vertical-align:middle;margin-left:5px;} #pullDown.flip .pullDownIcon{ -webkit-transform:rotate(-180deg) translateZ(0)} #pullDown.loading .pullDownIcon{ background-position:0 100%;-webkit-transform:rotate(0deg) translateZ(0);-webkit-transition-duration:0ms;-webkit-animation-name:loading;-webkit-animation-duration:2s;-webkit-animation-iteration-count:infinite;-webkit-animation-timing-function:linear} @-webkit-keyframes loading{ from{ -webkit-transform:rotate(0deg) translateZ(0)} to{ -webkit-transform:rotate(360deg) translateZ(0)} }
正在载入中...
- 手机多终端适配 media query
@media (device-height:480px) and (-webkit-min-device-pixel-ratio:2){ /* 兼容iphone4/4s */ .class{} } @media (device-height:568px) and (-webkit-min-device-pixel-ratio:2){ /* 兼容iphone5 */ .class{} } @media (device-height:667px) and (-webkit-min-device-pixel-ratio:2){ /* 兼容iphone6 */ .class{} } @media (device-height:736px) and (-webkit-min-device-pixel-ratio:2){ /* 兼容iphone6 Plus */ .class{} }
- 屏蔽苹果浏览器对数字的识别
-
移除HTML5 input在type="number"时的上下小箭头
- 在chrome下:
input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{ -webkit-appearance: none !important; margin: 0; }
- Firefox下:
input[type="number"]{ -moz-appearance:textfield;}
- 第二种方案:
- 将type="number"改为type="tel",同样是数字键盘,但是没有箭头。
@media screen and (orientation: portrait) { /*竖屏 css*/ } @media screen and (orientation: landscape) { /*横屏 css*/ }
//判断手机横竖屏状态:window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", function() { if (window.orientation === 180 || window.orientation === 0) { alert('竖屏状态!'); } if (window.orientation === 90 || window.orientation === -90 ){ alert('横屏状态!'); } }, false); //移动端的浏览器一般都支持window.orientation这个参数,通过这个参数可以判断出手机是处在横屏还是竖屏状态。
-
rem 适配,内容太多,只贴网址
-
公式
var PAGE_MAX_WIDTH = 1280, BASE_FONT_SIZE = 50; (function() { function n() { e.fontSize = Math.min(window.innerWidth / PAGE_MAX_WIDTH * BASE_FONT_SIZE, BASE_FONT_SIZE) + "px" } var e = document.documentElement.style; window.addEventListener("load", n), window.addEventListener("resize", n), n(); }());
-