本文目录一览:
- 1、vue.js怎么实现css样式表按需加载
- 2、Vue如何引入外链css和js
- 3、js中用cssText设置css样式的简单方法
- 4、09《Vue 入门教程》Vue 过渡 amp; 动画
- 5、vue.js怎么动态设置css
vue.js怎么实现css样式表按需加载
按需加载,可样式是写在.vue模板中的,访问另一个页面样式就会追加到head标签中,访问的越多head标签的style标签也就越多,即便style标签加入scoped可以避免样式冲突:
后来我查了下有使用extract-text-webpack-plugin将css提取合并的。
这个代码:
import 'xx.css' or require('xx.css')
Vue如何引入外链css和js
直接在主页面里面引入就行,但要注意class名和ID名不要出现重复,因为Vue是单页面,就是把所有组件都添加到主页面上进行显示的,所以引入的路径也要写关于主页面的相对路径
js中用cssText设置css样式的简单方法
如果网页中一个
id为“no”的标签,暂且当div标签来tell;
想要在js中设置这个div的css样式,很一般的做法是:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.width
=
'400px';
obj.style.height
=
'300px';
如果要设置一堆又一堆的css样式呢,太麻烦了把、
一般情况下都会结合css来添加className或者改变className达到想要的效果,但是如果你create一个元素,难道还想这样简单点?那就要想别的办法了~
于是大家就写了一个又一个的函数,经典的两个是:
var
obj
=
document.getElementByIdx_x_x('no');
function
setStyle(obj,
css)
{
for(var
attr
in
obj){
obj.style[attr]
=
css[attr];
}
}
setStyle(obj,{width:"400px",height:"300px"});
当然还有更简单的,cssText:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.cssText
=
"width:400px;
height:300px;";
当然这种方法对于create的元素初始化css样式来说很简单很方便。
以上就是小编为大家带来的js中用cssText设置css样式的简单方法的全部内容了,希望对大家有所帮助,多多支持脚本之家~
09《Vue 入门教程》Vue 过渡 amp; 动画
本章节我们主要介绍 Vue.js 的过渡效果与动画效果。包括如何编写自定义 CSS 动画、如何配合第三方 CSS 动画库、过渡钩子函数的使用、如何使用第三方 JavaScript 动画库。本小节的内容相对之前有些难度,同学们在阅读一遍之后如果不能完全掌握,建议反复阅读,并把本小节的所有案例自己实现一遍,相信通过多次的练习一定可以掌握。
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具: 1、在 CSS 过渡和动画中自动应用 class; 2、配合使用第三方 CSS 动画库,如 Animate.css; 3、在过渡钩子函数中使用 JavaScript 直接操作 DOM; 4、配合使用第三方 JavaScript 动画库,如 Velocity.js。
使用 transition 组件包裹需要使用过渡效果的 DOM 元素。例如:
接下来让我们先看一个淡入淡出效果的实现代码:
实例演示
运行案例点击 "运行案例" 可查看在线运行效果
代码解释:
那么,transition 组件是如何做到这样的过渡效果的呢?
我想,同学们肯定猜想到当元素切换状态的时候,我们定义的样式会作用于标签元素
。那么,到底是不是这样呢?
打开控制台,检索到
标签上,我们可以清晰地看到:
实际上 Vue 在元素显示与隐藏的过渡中,提供了 6 个 class 来切换:
对于这些在过渡中切换的类名来说,如果你使用一个没有名字的 ,则 v- 是这些类名的默认前缀。如果你使用了 ,那么 v 会替换为 test-transition。例如:test-transition-enter、test-transition-enter-active、test-transition-leave…
在日常开发中,我们经常会使用 CSS 过渡来实现一些简单的动画效果。接下来我们用一个示例来学习如何使用:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
同样,我们可以使用 CSS 动画来实现元素的过渡效果。CSS 动画用法类似 CSS 过渡,在过渡的不同阶段对应的 Class 会作用于元素。但是在动画中 v-enter 类名在节点插入 DOM 后不会立即删除,而是在 animationend 事件触发时删除。 相信同学们在日常业务开发中一定使用过 Dialog,接下来我们就使用 CSS 动画来实现它的过渡效果:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
在之前的两个案例中,我们通过给 transition 设置 name 属性来指定元素在不同阶段的样式类名,但有时候希望使用自定义的过渡类名,我们可以通过给 transition 设置以下属性来达到需求:
自定义过渡的类名优先级高于普通的类名,这样就能很好地与第三方(如:animate.css)的动画库结合使用。
在很多情况下,Vue 可以自动得出过渡效果的完成时机。默认情况下,Vue 会等待其在过渡效果的根元素的第一个 transitionend 或 animationend 事件。然而也可以不这样设定 —— 比如,我们可以拥有一个精心编排的一系列过渡效果,其中一些嵌套的内部元素相比于过渡效果的根元素有延迟的或更长的过渡效果。
在这种情况下你可以用 组件上的 duration 属性定制一个显性的过渡持续时间 (以毫秒计):
你也可以定制进入和移出的持续时间:
transition 组件在过渡的不同阶段会触发相应的钩子函数:
这些钩子函数可以结合 CSS transitions/animations 使用,也可以单独使用。
当只用 JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则,它们将被同步调用,过渡会立即完成。
推荐对于仅使用 JavaScript 过渡的元素添加 v-bind:css="false" ,Vue 会跳过 CSS 的检测。这也可以避免过渡过程中 CSS 的影响。
接下来我们来看一个使用钩子函数和 Velocity.js 实现过渡动画的例子:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
有时候我们希望给元素设置初始渲染的过渡效果,可以通过给 transition 设置 appear 的 attribute :
这里默认和进入 / 离开过渡一样,同样也可以自定义 CSS 类名:
同样地,可以使用自定义 JavaScript 钩子:
接下来我们看一个完整的示例:
实例演示
"运行案例" 可查看在线运行效果
代码解释:
本小节我们介绍了如何使用 transition 实现过渡和动画效果,主要包括以下知识点:
vue.js怎么动态设置css
template
ul
li v-for="tab in tabs" :class="{ 'is-active': tab.isSelected}"
a :href="tab.href" @click="selectTab(tab)"{{tab.name}}/a
/li
/ul
script
selectTab(selectedTab) {
this.tabs.forEach(tab = {
tab.isSelected = (tab.name == selectedTab.name);
})
}
给每个a标签绑定一个方法,并传入当前对象作为参数
当点击时遍历所有a标签,比较当前遍历对象的某个属性(例子中的name)与传入对象的某个属性
比例结果赋值给一个flag(例子中的isSelected属性),由这个flag去控制:class
从而实现数据驱动样式