CSS3 神器总结

1. 选择类

 1.1 /* 鼠标选中区域,改变背景/字体颜色 */ /*遍历写法*/ div::selection { background-color: red; color: #fff; /* font-size、font-weight等 设置不起作用 */ } /*全局写法*/ ::selection { background: #000; color: #fff;

2. 文字类

2.1 /* 伪元素选择器 */
    /* 第一个字母/汉字 */
      li::first-letter {
      color:red;
      background-color: yellow;
      }

    /* 第一行 */
      div::first-line {
      background-color: green;
      }
    /*大小写转换*/
      .tit{
      /*text-transform: capitalize;/!*首字母大写*!/*/
      /*text-transform: uppercase;/!*所有单词转换为大写*!/*/
      text-transform: lowercase;/*所有单词转换为小写*/
      }  
2.2 /*文字多出部分省略号代替 仅适用于单行文本*/ p{ white-space:nowrap; text-overflow:ellipsis; overflow: hidden; }
2.3 /*设置文本纵向排列*/ .title{ width: 20px; writing-mode: tb-rl; letter-spacing: 20px; text-indent: 30px; }

3. 外观样式类

3.1 /*设置单选框样式*/
input {
width: 20px;
height: 20px;
padding-left: 22px;
cursor: pointer;
background: url(images/check.png) no-repeat 2px 1px;
-webkit-appearance: none;
}

设置后的样式: 

3.2 /*设置div宽度100%,两边留白(也可设置于高度)*/
    .box{
    width: -webkit-calc(100% - 50px);
    width: calc(100% - 50px);
    height: 300px;
    margin: 0 auto;
    background: #ccc;
    overflow: hidden;
    }

设置后的样式:

 

 3.3 /*设置光标不能点击*/ .btn{ cursor: no-drop; }

   

 

3.4 /* 设置textarea文本框不能拖拽缩放 */ textarea{ resize: none; }

 

3.5 /* 圆角边框 */
.box{
width:100px;
height:100px;
border-radius: 10px 20px;
border: 1px solid red;
}
10px; 一个值的时候即为设置上下左右边框
10px 20px; 依次为:上下边框 左右边框
10px 20px 30px; 上边框 左右边框 下边框
10px 20px 30px 40px; 上边框 右边框 下边框 左边框
3.6 /* box-shadow 盒子阴影 */ /* text-shadow 文本阴影 */
  
box-shadow:2px 2px 4px red inset; /* X轴偏移量 Y轴偏移量 阴影距离 阴影颜色 内阴影(可以不设置内阴影,默认为外阴影) */
text-shadow 语法和box-shadow 一致

  

浏览器在编译数字或者字母的时候默认不会自动换行,解决方法:

  div{ width: 90px;  border: 1px solid red; word-break: break-all; word-warp: break-word; }

 4. 动画类

4.1 /* 加载loading */
CSS代码如下:

@keyframes bouncing-loader
{ from { opacity: 1; transform: translateY(0); } to { opacity: 0.1; transform: translateY(-1rem); } } .bouncing-loader { display: flex; justify-content: center; } .bouncing-loader > div { width: 1rem; height: 1rem; margin: 3rem 0.2rem; background: #8385aa; border-radius: 50%; animation: bouncing-loader 0.6s infinite alternate; } .bouncing-loader > div:nth-child(2) { animation-delay: 0.2s; } .bouncing-loader > div:nth-child(3) { animation-delay: 0.4s; }
HTML代码如下:
<div class="bouncing-loader"> <div></div> <div></div> <div></div></div>

实现效果如下: 

 

 

 5. transform /*旋转 变形 */

 transform: rotate(-20deg); /*旋转*/ transform: skew(45deg); /*扭曲*/ transform: scale(0.8); /*缩放*/ transform: translate(50px, 100px); /*位移*/

 

6. animation /* 动画 */

HTML代码如下:
.yun{
position: absolute;
left: 0;
top: 90px;
background: url(http://gzzta.com.cn/images/gzkdqggjyyj_zt/yun1.png) repeat-x;
height: 100%;
width: 300%;
min-width:1200px;
-webkit-animation: cloud_one 100s linear infinite;
-moz-animation: cloud_one 100s linear infinite;
-o-animation: cloud_one 100s linear infinite;
animation: cloud_one 100s linear infinite;
-webkit-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
 
CSS代码如下:

@-webkit-keyframes cloud_one
{ 0% { left: 0 } 100% { left: 200px } } @keyframes cloud_one { 0% { left: 0 } 50% { left: -100% } 100% { left: -200% } }

 

相关文章