父组件 about.vue
<template>
<div id="wrap">
<header-menu></header-menu>
<banner-text :banner="about_banner_src" :content_text="content_text"></banner-text>
<footer-menu></footer-menu>
</div>
</template>
<script>
import headerMenu from '../components/Header'
import bannerText from '../components/Banner'
import footerMenu from '../components/Footer'
export default {
data() {
return {
about_banner_src: '../../static/img/banner4.png',
// title_text:'',
content_text: '我是banner解说文字'
}
},
components: {
headerMenu,
bannerText,
footerMenu
}
}
</script>
<style lang="css">
.banner .banner-text {
width: 1024px;
margin-left: -512px;
}
.banner .banner-text .content-text {
margin-top: -35px;
}
@media screen and (max-width:1200px) and (min-width:800px) {
.banner .banner-text {
width: 750px;
margin-left: -375px;
}
.banner .banner-text .content-text {
margin-top: -20px;
}
}
</style>
子组件 banner.vue
<template>
<div class="banner">
<img :src="banner" alt="banner图">
<div class="banner-text">
<h3 class="title-text" v-if="title_text">{{title_text}}</h3>
<p class="content-text" v-html="content_text"></p>
</div>
</div>
</template>
<script>
export default {
name: 'Banner',
data() {
return {
}
},
props: {
banner: {
type: String,
required: true
},
title_text: String,
content_text: String
}
}
</script>
<style lang="css">
/* banner图 */
.banner {
position: relative;
font-size: 0;
}
.banner img {
width: 100%;
}
/* banner+文字 */
.banner .banner-text {
position: absolute;
width: 800px;
height: 100%;
top: 0;
left: 50%;
margin-left: -400px;
display: flex;
flex-direction: column;
justify-content: center;
}
.banner .banner-text .title-text {
font-size: 30px;
color: #ffffff;
text-align: center;
/* margin-top: 180px; */
}
.banner .banner-text .content-text {
font-size: 16px;
color: #ffffff;
/* text-align: center; */
margin-top: 90px;
line-height: 28px;
}
</style>
你也没有写scoped ,增加权重就行了呀 .wrap .banner .contentext{}