• CSS3样式linear-gradient的使用


    linear-gradient

    1. linear-gradient是CSS3中新增的样式,主要用于颜色的渐变效果。MDN地址
    2. linear-gradient在不同内核下使用方式不同,详细内容可参考w3cplus

    实用栗子(在Chrome下)

    1. 缺角效果
      先看效果图

      <div class="div1">
      	这是内容
      </div>
      
      .div1 {
      		 100px;
      		height: 40px;
      		line-height: 40px;
      		background:linear-gradient(-135deg, transparent 15px, #162e48 0);
      		color: #fff;
      		padding: 5px 15px;
      		text-align: center;
      		margin-bottom: 30px;
      	}
      
    2. 补角效果
      先看效果图

      <div class="div2">
      	这是内容
      </div>
      
      .div2 {
      		 100px;
      		height: 40px;
      		line-height: 40px;
      		background:linear-gradient(-135deg, #f00 15px, #162e48 0);
      		color: #fff;
      		padding: 5px 15px;
      		text-align: center;
      		margin-bottom: 30px;
      	}
      

      只是在栗子1的基础上修改了linear-gradient,将transparent修改为#f00

    3. 带边框的效果
      先看效果图

      <div class="div3">
      	这是内容
      </div>
      
      .div3 {
      		 100px;
      		height: 40px;
      		line-height: 40px;
      		background:linear-gradient(-135deg, #f00 15px, #162e48 0);
      		color: #fff;
      		padding: 5px 15px;
      		text-align: center;
      		margin-bottom: 30px;
              box-shadow: 0 0 1px 1px #fff inset;
      	}
      

      在栗子2的基础上增加了box-shadow,当然加边框可以有多种方式,可自行选择。

    4. 开关效果
      效果图

      <div class="div4">
      	<div class="div4-1">OFF</div>
      	<div class="div4-2 active">ON</div>
      </div>
      
      .div4 {
      		 144px;
      		height: 30px;
      		line-height: 30px;
      		background: #162e48;
      		color: #FFF;
      		text-align: center;
      		margin-bottom: 30px;
      	}
      	.div4-1, .div4-2 {
      		 86px;
      		float: left;
      	}
      	.div4-1.active {
      		margin-right: -28px;
      		background:linear-gradient(-135deg, transparent 20px, #f00 0);
      	}
      	.div4-2.active {
      		margin-left: -28px;
      		background:linear-gradient(45deg, transparent 20px, #f00 0);
      	}
      

      最终效果可根据需要自行调整

    5. 在栗子3的基础上做到以下效果,单纯使用linear-gradient没有找到解决方法,如有方案,请在评论下给出方案。以下是其中一种解决方式
      效果图

      .div5 {
      		 100px;
      		height: 40px;
      		line-height: 40px;
      		background:linear-gradient(-135deg, #fff 15px, #162e48 0);
      		color: #fff;
      		padding: 5px 15px;
      		text-align: center;
      		box-shadow: 0 0 1px 1px #fff;
      		margin-bottom: 30px;
      		position: relative;
      	}
      	.div5:after {
      		content: ' ';
      		border: solid transparent;
      		position: absolute;
      		border- 12px;
      		border-top-color: #000;
      		border-right-color: #000;
      		top: -2px;
      		right: -2px;
      	}
      
    6. 考虑到兼容性问题,可以通过:before:after实现同样的效果,给出一个栗子

      .div6 {
      		 100px;
      		height: 40px;
      		line-height: 40px;
      		background:#162e48;
      		color: #fff;
      		padding: 5px 15px;
      		text-align: center;
      		position: relative;
      		border: 1px solid #fff;
      		margin-bottom: 30px;
      	}
      	.div6:before {
      		content: ' ';
      		border: solid transparent;
      		position: absolute;
      		border- 15px;
      		border-top-color: #fff;
      		border-right-color: #fff;
      		right: 0px;
      		top: 0px;
      	}
      	.div6:after {
      		content: ' ';
      		border: solid transparent;
      		position: absolute;
      		border- 15px;
      		border-top-color: #000;
      		border-right-color: #000;
      		top: -1px;
      		right: -1px;
      	}
      
  • 相关阅读:
    js之iframe子页面与父页面通信
    js的event对象
    整洁代码的4个条件
    PYTHON 自然语言处理
    如何检测浏览器是否支持CSS3
    BootStrap前端框架使用方法详解
    如何使用repr调试python程序
    Python编程快速上手——Excel到CSV的转换程序案例分析
    C++和JAVA传统中积极的一面
    20个LINUX相关的网站
  • 原文地址:https://www.cnblogs.com/tian-xie/p/6284639.html
Copyright © 2020-2023  润新知