vue3.x style特性

1、选择器相关
	(1)深度选择器
		选择子组件中的元素
		
		.a :deep(.d) {
		  color: yellowgreen;
		}
		或使用原生css支持的
		.a >>> .d {
		  color: red;
		}
		less 或 scss中
		.a /deep/ .d
	
	(2)插槽选择器
		默认情况下,作用域样式不会影响到<slot/>渲染出来的内容,因为它们被认为是父组件所持有并传递进来的,如果需要需使用:slotted
		:slotted(div) {
		  color: red;
		}
	
	(3)全局选择器
		让其中一个样式规则应用到全局
		:global(.red) {
		  color: red;
		}

2、混合使用局部与全局样式
	<style>
	/* global styles */
	</style>
	
	<style scoped>
	/* local styles */
	</style>

3、css变量
	方式一:直接使用变量
		<script>
		export default {
		  data() {
		    return {
		      color: 'red'
		    }
		  }
		}
		</script>
		
		<style>
		.text {
		  color: v-bind(color);
		}
		</style>
	
	方式二:支持JavaScript表达式(需要用引号包裹起来)
	
		<script setup>
		const theme = {
		  color: 'red'
		}
		</script>
		
		<style scoped>
		p {
		  color: v-bind('theme.color');
		}
		</style>



4、style module

	(1)设置style为CssModule,会被编译为CSS Modules 
		<style module>
		<style module='自定义名称'>
		.success {
		  color: #090;
		}
		
		</style>
		
	(2)在template中使用
		对生成的类做hash计算以避免冲突,实现了和scope CSS一样将CSS仅作用于当前组件的效果
		<template>
		  <p :class="$style.success" :class="自定义名称.success"> 
		    This should be red
		  </p>
		</template>
	
	(3)只能在render或setup函数中使用,允许在函数中访问CSS模块。
		<script>
		import { h, useCssModule } from 'vue'
		export default {
		  setup() {
		    const style = useCssModule()
		    const style2 = useCssModule('classes')	对于自定义了module名称的<style module>模块
		    
		    return () =>
		      h(
		        'div',
		        {
		          class: style.success
		        },
		        'Task complete!'
		      )
		  }
		}
		</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用: Taro-ui-vue是一个针对Taro框架的UI库,它是在Taro框架开始支持Vue后,为了填补Taro框架缺乏相关UI库的问题而创建的。Taro-ui-vue提供了一系列Vue组件,方便开发者在Taro框架下进行快速开发。 引用: Vant是一个比较完善的移动端UI组件库,它提供了丰富的组件,比如AddressEdit、Card、ContactCard等等,非常适合移动端购物网站的开发。与Taro-ui-vue相比,Vant不仅支持Vue2.x,还支持Vue3.x和Cube-ui。 根据引用中的总结,可以看出Vant是支持Vue3.x的UI库之一。所以,Vue3和Taro-ui-vue库是可以一起使用的,你可以在Vue3项目中使用Taro-ui-vue库来进行开发和设计界面。这将使你能够利用Taro框架的特性和优势,同时使用Taro-ui-vue库中提供的丰富的组件和样式来构建界面。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [taro-ui-vue:Tarovue的UI KIT](https://download.csdn.net/download/weixin_42124743/16646329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [常用的几款Vue移动端UI推荐](https://blog.csdn.net/m0_58016522/article/details/128844719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值