我有一个简单的布局,由三个全高div和一个固定的标题栏组成。
body,html {
padding:0;
margin:0;
}
.header {
position:fixed;
width:100%;
height:50px;
color:white;
margin:20px;
}
.section1 {
background:black;
height:100vh;
display: flex;
align-items: center;
justify-content: center;
color:white;
}
.section2 {
background:white;
height:100vh;
display: flex;
align-items: center;
justify-content: center;
}
.section3 {
background:black;
height:100vh;
display: flex;
align-items: center;
justify-content: center;
color:white;
}
<div class="header">
Header Content
</div>
<div class="wrapper">
<div class="section1">
Section One Content
</div>
<div class="section2">
Section Two Content
</div>
<div class="section3">
Section Three Content
</div>
</div>
我试图使标题栏文本在具有白色背景的部分上滚动时变为黑色。
我已经看到了几个应该可以实现此目标的jQuery插件,但我正在努力避免任何不必要的脚本。
CSS mix-blend-mode
函数是否可以实现这一目标?有没有人能举例说明他们可以实现类似的目标?
答案 0 :(得分:6)
您可以使用mix-blend-mode:difference
body,
html {
padding: 0;
margin: 0;
}
.header {
position: fixed;
width: 100%;
height: 50px;
margin: 20px;
color:#fff;
mix-blend-mode: difference;
}
.section1,
.section2,
.section3{
background: black;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
color: white;
}
.section2 {
background: white;
color:#000;
}
<div class="header">
Header Content
</div>
<div class="wrapper">
<div class="section1">
Section One Content
</div>
<div class="section2">
Section Two Content
</div>
<div class="section3">
Section Three Content
</div>
</div>
答案 1 :(得分:0)
您可以使用jquery进行操作,当发生某些情况时,请执行以下操作:
$('yourdiv1').css({"color": "black"})
$('yourdiv2').css({"background-color": "white"})
仅将其设置为默认值:
$('yourdiv1').css({"color": ""})
$('yourdiv2').css({"background-color": ""})
还添加transitions使其看起来非常漂亮。