codecamp

你应该知道的CSS小技巧

       自从CSS3面世,纯CSS能实现的效果实在是太多了,今天有空,特意的整理了一下(只是部分,后续会继续添加)。

  1. 滚动条美化
  2. 三角形
  3. Tooltips
  4. 表单美化
  5. 纯CSS波浪线
  6. 选择文本的颜色
  7. table的斑马线

效果:


1、滚动条美化

::-webkit-scrollbar {}   //滚动条整体部分     

::-webkit-scrollbar-track{}  //滚动条滑轨  

::-webkit-scrollbar-track-piece{}  //内层轨道,滚动条中间部分

::-webkit-scrollbar-thumb {}  //滚动条滑块

::-webkit-scrollbar-button{}  //滑轨两头的监听按钮

::-webkit-scrollbar-button:start {}  // 滑轨顶部的监听按钮

::-webkit-scrollbar-button:end {}    //滑轨底部的监听按钮

::-webkit-scrollbar-corner {}    //横向滚动条和纵向滚动条相交处的尖角

::-webkit-resizer{}  //两个滚动条的交汇处上用于通过拖动调整元素大小的小控件


//还可设置鼠标移动上去时的变化

::-webkit-scrollbar-track:hover {}       

::-webkit-scrollbar-thumb:hover {}

::-webkit-scrollbar-button:start:hover {} 

::-webkit-scrollbar-button:end:hover {} 


2、三角形

div::after{

  content: '';

  border-top: 10px solid transparent;

  border-right: 10px solid transparent;

  border-bottom: 10px solid #333;

  border-left: 10px solid #transparent;

}


3、Tooltips

.tooltips{   

  display:inline-block;   

  width:100px;   

  padding:3px 10px;   

  border:1px solid #d9d9d9;   

  position:relative; }   

.tooltips:hover:before,.tooltips:hover:after{   

  opacity:1;   

}   

.tooltips:before,.tooltips:after{   

  -webkit-transition:all .4s;   

  transition:all .4s;   

  opacity:0;   

}   

.tooltip1:before{   

  position:absolute;   

  content:'';   

  top:100%;   

  left:50%;   

  border-top: 5px solid transparent;   

  border-right: 5px solid transparent;   

  border-bottom: 5px solid rgba(0,0,0,.5);   

  border-left: 5px solid transparent;   

  -webkit-transform:translate(-50%,-5px);   

  transform:translate(-50%,-5px);    

}   

.tooltip1:after{   

  content:attr(data-tip);   //注意这里

  position:absolute;   

  top:100%;   

  left:50%;   

  padding:3px 10px;   

  background:rgba(0,0,0,.5);   

  color:#fff;   

  white-space:nowrap;   

  -webkit-transform:translate(-50%,5px);   

  transform:translate(-50%,5px);   

}


//div

<div class="tooltip1 tooltips" data-tip="哈哈,我是tooltip">这里!这里!</div>

主要是利用content: attr(data-tip)属性。

4、表单美化

label{   

  position:relative;   

  display:inline-block;   

  cursor:pointer;   

}   

label>input{   

  display:none;   

}   

label .radio-inner{   

  position:relative;   

  padding-left:35px;   

}   

label .radio-inner:before{   

  content:'';   

  position:absolute;   

  width:20px;   

  height:20px;   

  top:0;   

  left:0;   

  border:1px solid #d9d9d9;   

  border-radius:50%;   

}   

label .radio-inner:after{   

  content:'';   

  position:absolute;   

  width:10px;   

  height:10px;   

  top:6px;   

  left:6px;   

  background:#fff;   

  border-radius:50%;   

}   

label>input:checked+.radio-inner:before{   

  border-color:#009a61;   

}   

label>input:checked+.radio-inner:after{   

  background:#009a61;       

}

主要是利用label的for属性和input的id属性的关联,还有:check伪类和E+F选择器

5、纯CSS波浪线

.wave{   

  height:10px;   

  width:100px;   

  background-image:repeating-radial-gradient(transparent,transparent 5px,#333 6px,#333 15px);   

  background-image:-webkit-repeating-radial-gradient(transparent,transparent 5px,#333 6px,#333 15px);   

  background-size: 20px 21px;   

  background-repeat: repeat-x;   

}


6、选择文本的颜色

.selection::selection{   

  background:red;   

  color:#fff;   

}


7、table的斑马线

.table tr:nth-child(odd){   

  background:#333;   

  color:#fff;   

}   

.table tr:nth-child(even){   

  background:#d9d9d9;   

}

主要是利用伪类 :nth-child()的参数为odd(奇数)和even(偶数)来设置





纯css3开发的checkbox、radio和switch
有趣的CSS像素
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }