本系列文章,主要是围绕css3属性,实现咱们常见的各类效果,这些效果都是咱们实战开发中常常能够用到的效果:javascript
- 选用合适的鼠标光标
- 扩大点击区域
- 经过阴影来弱化背景
- 经过模糊来弱化背景
- 滚动提示
平时开发中,咱们常常会这是鼠标光标的效果,那最长设置的就是cursor:pointer;表示可点击的,那么其实还有其余一些咱们不经常使用,但却很是有用的光标效果:css
- pointer: 可点击
- not-allowed: 不容许点击
- context-menu:表示元素有上下文菜单
- move: 表示元素能够移动的时候
- help: 有帮助信息的时候
- copy: 好比:某一按钮点击会将文案复制到其余地方或者剪切板的效果,就能够设置为copy
- none: 不显示鼠标光标(某些不但愿用户操做的时候,该效果是可使用的)
如下是全部光标的效果:咱们只须要记住上面这些经常使用的效果便可。 css2.1内置光标效果: java
这也是咱们平时作页面的时候,能够优化的一点,尽量的扩大可点击区域,这样用户更容易到底可点击的区域。css3
例以下图:咱们不要只给➕ 设置点击 事件,而是给整个圆圈区域设置点击事件。 浏览器
首先,咱们来看一下效果:bash
方案一:阴影部分用一层div包括,而且设置透明度,函数
/* 用于遮挡背景 */ position: fixed;
.overlay {
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,.8);
}
/* 须要吸引用户注意的元素 */
.lightbox {
position: absolute; z-index: 1;
/* [其他样式] */
}
复制代码
方案二:用伪元素代替 外层的div布局
.lightbox::before {
position: fixed; top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
background: rgba(0,0,0,.8);
}
复制代码
缺点:伪元素没法绑定独立的javascript事件处理的回调函数。post
方案三:采用box-shadow字体
box-shadow: 0 0 0 999px rgba(0,0,0,.8); //此时阴影半径必须设置的足够大
或者
box-shadow: 0 0 0 50vmax rgba(0,0,0,.8); //将阴影半径设置为视口的宽高。
复制代码
缺点:阴影也没法绑定独立的javascript事件处理的回调函数。
方案四:采用dialog的backdrop属性
//设置dialog元素的::backdrop伪元素,
dialog::backdrop {
background: rgba(0, 0, 0, .8);
}
复制代码
肯定:浏览器的兼容性有限
首先,来看一下咱们想要实现的效果:
代码以下:
<main>Bacon Ipsum dolor sit amet...</main>
<dialog>
O HAI, I'm a dialog. Click on me to dismiss. </dialog> 复制代码
main{
filter: blur(3px) contrast(.8) brightness(.8);
}
复制代码
首先,咱们看一下效果:
代码以下:
ul {
overflow: auto;
width: 20em;
height: 12em;
padding: .3em .5em;
border: 1px solid silver;
background: linear-gradient(white, white) 0 0 / 100% 50px,
radial-gradient(at top, rgba(0,0,0,.2), transparent 70%) 0 0/ 100% 15px,
linear-gradient(to top, white, white) bottom/ 100% 50px,
radial-gradient(at bottom, rgba(0,0,0,.2), transparent 70%) bottom/ 100% 15px;
background-repeat: no-repeat;
background-attachment: local, scroll, local, scroll;
}
复制代码