uniapp - css样式设置scoped

 

1.App.vue(样式层级高)定义样式就可以覆盖子组件或者父组件,无论有没有设置scoped关键字

 

<script>
	export default {
		onLaunch: function() {
			console.log('App Launch')
		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style>
	/*每个页面公共css */
	.title{
		color: #333333 !important;
	}
</style>

 

  

 

 

2.子组件设置scoped

子组件设置scoped会增加私有后缀,为了保证它的唯一性不会父组件导入的css覆盖掉,但App.vue导入的css会覆盖掉它(特别注意)

 

<template>
	<view>
		<view style="padding: 12px 15px;border-bottom: 1rpx solid #007AFF;" class="title">
			点击hover效果
		</view>
		<!-- <button type="primary" @click="onSend">传值给onB组件</button> -->
	</view>
</template>

<script>
	export default {
		data() {
			return {
				msg: 'hello,onB'
			};
		},
		methods: {
		},
		mounted() {
		}
	}
</script>

<style lang="scss" scoped>
	.title {
		color: #F0AD4E;
	}
</style>

  

 

 

3.父组件如何穿透子组件,覆盖它的样式->穿透“>>>和/deep/

index.vue

<template>
	<view class="content">
		<onA></onA>
	</view>
</template>

<script>
	import onA from '@/components/onA.vue';
	export default {
		data() {
			return {
			}
		},
		components:{
			onA
		},
		onLoad() {
		},
		mounted() {
			
		},
		methods: {

		}
	}
</script>

<style>
	>>>.title {
		font-size: 36rpx;
		color: #007AFF;
	}
	
	/deep/.title{
		font-size: 36rpx;
		color: #f00;
	}
</style>

 

onA.vue

<template>
	<view>
		<view style="padding: 12px 15px;border-bottom: 1rpx solid #007AFF;" class="title">
			点击hover效果
		</view>
		<!-- <button type="primary" @click="onSend">传值给onB组件</button> -->
	</view>
</template>

<script>
	export default {
		data() {
			return {
				msg: 'hello,onB'
			};
		},
		methods: {
		},
		mounted() {
		}
	}
</script>

<style lang="scss">
	.title {
		color: #F0AD4E;
	}
</style>

 

  

posted @ 2020-01-15 14:27  Sunsin  阅读(16896)  评论(0编辑  收藏  举报