opacity相关知识
-
css父元素透明度(opacity)对子元素的影响首先子元素会继承父元素的透明度: 设置父元素opacity:0.5,子元素不设置opacity,子元素会受到父元素opacity的影响,也会有0.5的透明度。 其次子元素的透明度是基于父元素的透明度计算的: 设置父元素opacity:0.5,即使设置子元素opacity:1,子元素的opacity:1也是在父元素的opacity:0.5的基础上设置的,因此子元素的opacity还是0.5。 解决办法: 利用CSS3属性rgba(即red+green+blue+alpha的颜色),<br> 例如background-color:rgba(0,0,0,0.5)<br> 但是IE7/8不支持此属性,可按如
-
CSS3中RGBA和opacity的区别RGBA是什么?是在RGB<Red(红色) Green(绿色) Blue(蓝色)>的基础上增加了一个通道Alpha。Alpha参数为透明值,在0~1之间。RGBA 不仅可以用在 background 属性上,还可以用在 color 和 border 属性中。RGBA和opacity之间的不同点是前者只应用到指定的元素上,后者会影响指定的元素及其子元素。下面通过实例演示来说明 。效果展示:rgba演示.png<!--HTML部分--><div class="demo" id="demo">RGBA测试</div><div class="demo" id="demo2">opacity测试</div> /*
-
投稿004期 | CSS中用 opacity、visibility、display 属性将 元素隐藏 的 对比分析说明 opacity 用来设置透明度 display 定义建立布局时元素生成的显示框类型 visibility 用来设置元素是否可见。 opacity、visibility、display 这三个属性分别取值 0、hidden、none 都能使元素在页面上看不见,但是他们在方方面面都还是有区别的。 是否占据页面空间 举个例子 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <style> .yellow{ width:100px; height:100px; background:yellow; } .red{ width:100px; height:100px; background:red
-
使用css3实现div的闪动效果@-webkit-keyframes twinkling{ 0%{opacity:0.3;} 100%{opacity:1;}} @keyframes twinkling{ 0%{opacity:0.3;} 100%{opacity: 1;} } @-moz-keyframes twinkling{ 0%{opacity:0.3;} 100%{opacity:1;}} .demo{-webkit-animation: twinkling 1s 3 ease-in-out; -moz-animation: twinkling 1s 3 ease-in-out;animation: twinkling 1s 3 ease-in-out; }
opacity相关课程
opacity相关教程
- 6. 经验分享 当动画造成页面的卡顿,可以用下面这种方式尝试解决:开启 GPU 加速,例如使用 transform:transition3d(0,0,0)。有时候需要实现鼠标 hover 到元素上,会出现一个提示效果。如果使用 transition 过渡属性发现总是不能实现这个效果,而 animation 是可以解决的:<div class="demo"> 往事不要再提<span>人生已多风雨</span></div>.demo{ cursor: pointer;}.demo>span{ display: none; }.demo:hover>span{ display: block; animation: shows 1s forwards;}@keyframes shows { from{ opacity: 0; }to{ opacity: 1; }}效果图说明: transition 不能实现(隐藏/显示)之间的过渡效,原因是 diaplay:none 设置之后虽然元素在页面中,但是这个标签不在浏览器的渲染进程里面。如果这个元素属性为 display:block 相当于元素从新渲染出来,这时里面的 opacity: 0 到 1 就不起作用了。所以这里使用 animation 正好可以弥补这个问题。
- 2. JavaScript 钩子 transition 组件在过渡的不同阶段会触发相应的钩子函数:<transition v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter="afterEnter" v-on:enter-cancelled="enterCancelled" v-on:before-leave="beforeLeave" v-on:leave="leave" v-on:after-leave="afterLeave" v-on:leave-cancelled="leaveCancelled"> <p>...</p></transition>这些钩子函数可以结合 CSS transitions/animations 使用,也可以单独使用。当只用 JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则,它们将被同步调用,过渡会立即完成。推荐对于仅使用 JavaScript 过渡的元素添加 v-bind:css="false",Vue 会跳过 CSS 的检测。这也可以避免过渡过程中 CSS 的影响。接下来我们来看一个使用钩子函数和 Velocity.js 实现过渡动画的例子:679代码解释:HTML 代码第 3-12 行,我们使用 transition 组件包裹 <p> 标签,并给 transition 组件绑定监听事件 before-enter、enter、leave;HTML 代码第 2 行,定义按钮 button,点击修改 show 的值来控制标签 <p> 的显示隐藏;JS 代码第 7 行,定义数据 show,默认值为 false;JS 代码第 10-13 行,定义元素的 beforeEnter 函数,并修改元素的样式 style;JS 代码第 14-17 行,定义元素的 enter 函数,并执行以下操作:使用 Velocity 修改元素的 opacity 和 fontSize,过渡时间为 300。使用 Velocity 修改元素的 fontSize,并在完成时间调用 done 回调函数。JS 代码第 18-27 行,定义元素的 leave 函数,并执行以下操作:使用 Velocity 修改元素的 translateX 和 rotateZ,过渡时间为 600。使用 Velocity 修改元素的 rotateZ,并且循环 3 次。使用 Velocity 修改元素的 rotateZ 、translateY、translateX、opacity,并在完成时间调用 done 回调函数。
- 1.2 CSS 过渡 在日常开发中,我们经常会使用 CSS 过渡来实现一些简单的动画效果。接下来我们用一个示例来学习如何使用:677代码解释:HTML 代码第 3-5 行,我们使用 transition 组件包裹 <p> 标签,transition 组件指定 name 为 fade,通过 指令 v-show 控制 <p> 标签的显示和隐藏;HTML 代码第 2 行,定义按钮 button,点击修改 show 的值来控制标签 <p> 的显示隐藏;CSS 中我们定义了 4 个样式,通过 transform 控制元素的垂直位移,通过 opacity 控制元素的 透明度,通过 transition 控制元素的过渡效果;JS 代码第 6 行,定义数据 show,默认值为 true。
- 2.2自定义登录弹窗组件 2.2.1 在 <template > 标签中添加组件的页面结构代码<template> <view> <view class="modal-mask"></view> <view class="modal-dialog"> <view class="modal-content"> <p>慕课网wiki</p> </view> <button>授权登录</button> </view> </view></template>2.2.2 在 <style> 标签中添加组件样式代码<style>.modal-mask { width: 100%; height: 100%; position: fixed; top: 0; left: 0; background: black; opacity: 0.5; z-index: 9000;}.modal-dialog { width: 560rpx; position: fixed; z-index: 9999; background: #ffffff; margin: -150rpx 95rpx; border-radius: 16rpx;}.modal-content { display: flex; padding: 10rpx 53rpx 50rpx 53rpx; font-size: 32rpx; justify-content: center;}button { background:#feb600;}</style>该组件我们只定义了页面结构代码和样式代码,页面逻辑会在组件引用的时候定义,所以没有在 <script> 标签中定义逻辑代码,这个根据实际开发需求来就可以了。
- 5. 实例 通用 html :<div class="common demo">transfrom3d</div><div class="common demo-3d">transfrom3d</div>通用 style :body{ perspective: 500px;}.common{ width:100px; height:100px; text-align: center; line-height: 100px; background:#f2f2f2; border:1px solid #ccc; position: absolute; top: 0; left: 0; }.demo{ z-index: 1; opacity: .5; background: red; }demo-3d 在 z 坐标轴向内延伸 100px。.demo-3d{ transform:translate3d(0 ,0 ,-100px);}效果图demo 在 z 坐标轴向内延伸 100px ,效果图说明: 红色背景是 demo-3d 原来的位置,我们通过图片看到它的表现是水平向右移动且缩小了,其实他是进行了 3D 空间的移动。demo-3d 在 z 轴空间上缩放。.demo-3d{ transform:scale3d(1 ,1 ,0);}效果图demo 在 z 轴空间上缩放效果图说明: scale3d 这个属性可以拆成 scaleX() 、scaleY() 、 scaleZ() 。我们发现 scaleZ() 在 3D 空间变化上,它的区间 0~1 是不起作用的,只有 0 代表缩小到 0(消失), 1 (不变)。demo-3d 在 z 轴上旋转。.demo-3d{ transform: rotate3d(0,0,1,45deg);}效果图demo-3d 在 z 轴上旋转效果图说明: 不推荐使用 rotate3d() 这个属性,因为它只能通过 0 或 1 去选择是否需要旋转,第 4 个参数给 1 个旋转角度,这种方式很不灵活,不过它的特性就是可以同时控制 x,y,z 方向上的旋转角度。其实我们从 1~3 这 3 个例子中看到只设定了其中一项,接下来我们全方位的变化。在 x,y,z 上应用 translate3d 和 rotateZ.demo-3d{ transform:translate3d(100px ,100px ,-100px) rotateZ(45deg);}效果图:在 x,y,z 上应用 translate3d 和 rotateZ 效果图5.写一个墙角效果<div class="cude"> <div class="common left">left</div> <div class="common right">right</div> <div class="common bottom">bottom</div></div> .cude { perspective: 1500px; width:200px; height:200px; position: relative; margin: 100px auto; transform-style: preserve-3d; transform: rotateX(-14deg) rotateY(-45deg); } .common { position: absolute; top: 0; left: 0; width: 200px; height: 200px; background:#666; opacity: 0.8; font-size:20px; text-align: center; line-height:200px; font-weight: bold; color:#fff; border:1px solid #fff; } .right { transform: rotateY(180deg) translateZ(101px); background: rosybrown;} .left { transform: rotateY(-90deg) translateZ(101px); background: rosybrown;} .bottom { transform: rotateX(90deg) translateZ(-100px);} 效果图墙角效果图说明: 写这个其实没有什么技巧,首先设置 transform-style: preserve-3d; 然后在理解每个面相对角度的基础上去设置 translateZ 和 rotate3d.
- 4.1 样式的嵌套 Sass 允许将一套 CSS 样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器,我们用编写一个导航的样式来举例,假定我们的导航 nav 下面有 ul 标签,ul 标签下又有 li 标签,li 标签下呢又有 a 标签,下面我使用 Sass 来处理导航中的样式:nav { width:200px; background:white; ul { width:100%; background:red; li { width:100%; background:blue; a { color:green; font-size:20px; } } }}我们可以看到在上面的代码中,我们在 nav 的样式规则中,可以直接通过选择器去编写另外一套样式规则,并且可以一直嵌套,这段代码将会被编译成如下的 CSS :nav { width: 200px; background: white;}nav ul { width: 100%; background: red;}nav ul li { width: 100%; background: blue;}nav ul li a { color: green; font-size: 20px;}写起来是不是方便很多,但使用嵌套的时候同时需要注意:嵌套规则很有用很方便,但是你很难想象它实际会生成多少 CSS 语句,嵌套的越深,那么编译为 CSS 的语句就越多,同时消耗的资源也会越多,所以开发者尽量不要嵌套特别深的层级!4.1.1 嵌套选择器列表 (Selector Lists)嵌套规则可以很方便的处理选择器列表,由逗号分隔的选择器列表会被 Sass 组合到一个选择器列表中,我们举个例子看下:.alert, .warning { ul, p { margin-right: 0; margin-left: 0; padding-bottom: 0; }}上面这种写法会被转为如下的 CSS 代码:.alert ul, .alert p, .warning ul, .warning p { margin-right: 0; margin-left: 0; padding-bottom: 0;}4.1.2 嵌套组合符选择器 (Selector Combinators)如果你对选择符很陌生的话,一定要先看下什么是 CSS 选择符我们还可以嵌套使用带有选择符的选择器,我们可以将选择符放在外部选择器的末尾,或者内部选择器的开始位置,这里我们举一个官网的例子:ul > { li { list-style-type: none; }}h2 { + p { border-top: 1px solid gray; }}p { ~ { span { opacity: 0.8; } }}上面这种写法会被转换为如下的 CSS 代码:ul > li { list-style-type: none;}h2 + p { border-top: 1px solid gray;}p ~ span { opacity: 0.8;}
opacity相关搜索
-
oauth
object
object c
objective
objective c
objective c基础教程
objective c教程
objectivec
office visio 2003
offsetof
offsetparent
offset函数
okhttp
on on
on time
onbeforeunload
onblur
onclick
oncontextmenu
online