一、设置input相干款式

1、input的placeholder的款式
input::-webkit-input-placeholder {    /* Chrome/Opera/Safari */    color: red;}input::-moz-placeholder { /* Firefox 19+ */      color: red;}input:-ms-input-placeholder { /* IE 10+ */    color: red;}input:-moz-placeholder { /* Firefox 18- */    color: red;} <input type="text" placeholder="请设置用户名">
2、设置input聚焦时的款式
input:focus {     border: red 1px solid;}
3、勾销input的默认款式
background:none;border:none;outline:none;// 去掉ios的input的默认款式-webkit-appearance:none;// 去掉点击暗影-webkit-tap-highlight-color:rgba(255,255,255,0);// 去掉chrome表单主动填充后的黄色底色input:-webkit-autofill {    -webkit-box-shadow: 0 0 0px 100px white inset;}

二、单行和多行文本超出省略号

<style>.container {  width: 300px;  height: 200px;  margin: 100px;  padding: 20px;  border: 1px solid #eee;  font-size: 13px;  color: #555;}.c-red {  color: #8968CD;}p {  background-color: #ccccff;  padding: 2px 5px;}/*单行*/.single {  width: 300px;  overflow: hidden;  text-overflow: ellipsis;  white-space: nowrap;  word-break: break-all;}/*多行*/.mutiple {  display: -webkit-box; /*重点,不能用block等其余,将对象作为弹性伸缩盒子模型显示*/  -webkit-box-orient: vertical; /*从上到下垂直排列子元素(设置伸缩盒子的子元素排列形式)*/  -webkit-line-clamp: 3; /*行数,超出三行暗藏且多余的用省略号示意...*/  line-clamp: 3;  word-break: break-all;  overflow: hidden;  max-width: 100%;}</style><div class="container">  <p class="single">    <span class="c-red">单行溢出:</span>笑你我枉花光心计 爱竞逐镜花那漂亮 怕侥幸会转瞬远逝 为贪嗔喜恶怒着迷 责你我太贪功恋势 怪大地众生太美丽 悔旧日太执信约誓 为悲欢哀怨妒着迷  </p>  <p class="mutiple">    <span class="c-red">多行溢出:</span>笑你我枉花光心计 爱竞逐镜花那漂亮 怕侥幸会转瞬远逝 为贪嗔喜恶怒着迷 责你我太贪功恋势 怪大地众生太美丽 悔旧日太执信约誓 为悲欢哀怨妒着迷 啊 舍不得璀璨俗世 啊 躲不开痴恋的快慰 啊 找不到色相代替 啊 参毕生参不透这条难题 吞风吻雨葬落日未曾徘徊 欺山赶海践雪径也未失望 拈花把酒偏折煞世人情狂 凭这两眼与百臂或千手不能防 天阔阔雪漫漫共谁同航 这沙滚滚水皱皱笑着浪荡 贪欢一晌偏教那女儿情长掩埋  </p></div>

三、负边距应用技巧

在static元素中应用负边距:
1、当一个static元素在top/left应用负边距时,它把元素向这个特定的方向拉
2、然而当你将负边距设置为绝对bottom/right时,它并不会把元素向下或右拉,相同,它会把前面的元素往里面拉,从而笼罩本人。
如果对一个浮动的元素应用负边距,它会产生一个空白,其余元素就能够笼罩这一部分。
比方:
有一列宽度100%,另一列有固定的宽度,比如说100px。
如果两个元素都应用了左浮动并且设置margin-right:-20px。#mydiv2会把#mydiv1看成宽度放大20px(所以会笼罩一部分),然而乏味的是#mydiv1并不会有任何变动,而是仍然放弃原先的宽度。
如果负边距和宽度一样大的话,它就会被齐全笼罩掉。如果负外边距等于元素的宽度的话,那么该元素的宽度就会变成0。
<style>*{    margin:0;    padding:0;}.wrap{    /* 利用负值技巧进行整体挪动 */    margin-left:-6px;}.item{    float:left;    width: 20%;    height: 300px;    border-left:6px solid #fff;    box-sizing: border-box;}</style><div class="wrap">    <div class="item" style="background-color: #FFBBFF;"></div>    <div class="item" style="background-color: #BFEFFF;"></div>    <div class="item" style="background-color: #DDA0DD;"></div>    <div class="item" style="background-color: #BCEE68;"></div>    <div class="item" style="background-color: #FF8C00;"></div></div>


四、定位同时设置方位状况

相对定位和固定定位时,同时设置 left 和 right 等同于隐式地设置宽度
<style>span{  border:1px solid red;  position: absolute;  left:0;  right:0;</style>   /* 等同于设置  width:100%;display:block */}<span>1</span>

五、相邻兄弟选择器罕用场景

<style>ul{  width: 500px;  margin: 100px auto;  list-style: none;  padding:0;  border:1px solid #DDA0DD;  text-align: center;  color:#333; }li+li{  border-top:1px solid #FF8C00;}</style><ul> <li>1</li>  <li>2</li>  <li>3</li>  <li>4</li>  <li>5</li>  <li>6</li></ul>

六、outline属性的妙用技巧

 outline是不占空间的,不会减少额定的宽度或高度;而border会。
<style>ul {    list-style: none;    width: 600px;    margin: 100px auto;}li {    padding: 10px;    border: 10px solid pink;    outline-offset: -10px;}li+li{    margin-top:-10px;}li:hover{     border:10px solid gold;     //  outline:10px solid gold;}</style><ul>  <li>1</li>  <li>2</li>  <li>3</li>  <li>4</li>  <li>5</li>  <li>6</li></ul>


七、暗藏滚动条或更改滚动条款式

<style> .scroll-container {   width: 500px;   height: 150px;   border: 1px solid #ddd;   padding: 15px;   overflow: auto;     /*必须*/ }  .scroll-container::-webkit-scrollbar {   width: 8px;   background: white; }  .scroll-container::-webkit-scrollbar-corner,   /* 滚动条角落 */ .scroll-container::-webkit-scrollbar-thumb, .scroll-container::-webkit-scrollbar-track {      /*滚动条的轨道*/   border-radius: 4px; }  .scroll-container::-webkit-scrollbar-corner, .scroll-container::-webkit-scrollbar-track {   /* 滚动条轨道 */   background-color: rgba(180, 160, 120, 0.1);   box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5); }  .scroll-container::-webkit-scrollbar-thumb {   /* 滚动条手柄 */   background-color: #00adb5; }</style>

八、 CSS绘制三角形

<style>/* 正三角 */.up-triangle {  width: 0;  height: 0;  border-style: solid;  border-width: 0 25px 40px 25px;  border-color: transparent transparent rgb(245, 129, 127) transparent;}/* 倒三角 */.down-triangle {  width: 0;  height: 0;  border-style: solid;  border-width: 40px 25px 0 25px;  border-color:  rgb(245, 129, 127) transparent transparent transparent;}div:last-child {  margin-top: 1rem;}</style>

九、虚线框绘制技巧

<style>.dotted-line {  width: 800px;  margin: auto;  padding: 20px;  border: 1px dashed transparent;  background: linear-gradient(white, white) padding-box, repeating-linear-gradient(-45deg, red 0, #ccc .25em, white 0, white .75em);  //border: 1px dashed #f00;}</style><div class="dotted-line">临济论自我:与此时,在目前,孤单、明彻,以充沛觉知,听此说法者。</div>


十、卡券成果

<style>.coupon {  width: 300px;  height: 100px;  line-height: 100px;  margin: 50px auto;  text-align: center;  position: relative;  background: radial-gradient(circle at right bottom, transparent 10px, #ffffff 0) top right /50% 51px no-repeat,  radial-gradient(circle at left bottom, transparent 10px, #ffffff 0) top left / 50% 51px no-repeat,  radial-gradient(circle at right top, transparent 10px, #ffffff 0) bottom right / 50% 51px no-repeat,  radial-gradient(circle at left top, transparent 10px, #ffffff 0) bottom left / 50% 51px no-repeat;  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .2));}.coupon span {  display: inline-block;  vertical-align: middle;  margin-right: 10px;  color: red;  font-size: 50px;  font-weight: 400;}<p class="coupon"> <span>200</span>优惠券</p></style>

十一、 暗藏文本的罕用两种办法

text-indent: -9999px; // font-size: 0;

十二、表格边框合并

<style>table{  border-collapse: collapse;}</style><table border="1">    <thead>    <tr>      <th>第一列</th>      <th>第二列</th>      <th>第三列</th>      <th>第四列</th>    </tr>    </thead>    <tbody>    <tr>      <td>1.1</td>      <td>1.2</td>      <td>1.3</td>      <td>1.4</td>    </tr>    <tr>      <td>2.1</td>      <td>2.2</td>      <td>2.3</td>      <td>2.4</td>    </tr>    <tr>      <td>3.1</td>      <td>3.2</td>      <td>3.3</td>      <td>3.4</td>    </tr>    </tbody></table>