Как сделать подобный эффект с css?
Как сделать подобный эффект с текстом, чтобы он был другого цвета, когда налазил на картинку? Буду благодарен за помощь)
Ответы (3 шт):
Автор решения: Andrey Fedorov
→ Ссылка
body {
background-color: grey;
min-height: 100vh;
display: flex;
}
.parent {
margin: auto;
background-color: white;
background-image: linear-gradient(90deg, black 40%, transparent 40%);
width: 50vw;
height: 50vh;
display: flex;
overflow: hidden;
}
.text {
margin: auto;
font-family: sans-serif;
font-size: 300%;
width: 100%;
text-align: center;
background-clip: text;
-webkit-background-clip: text;
background-image: linear-gradient(90deg, white 40%, black 40%);
color: transparent;
}
<div class="parent">
<p class="text">
Lorem Ipsum
</p>
</div>
Автор решения: Alexey Vladimirov
→ Ссылка
Вот еще вариант. Он позволяет поиграть не только c текстом.
.content {
font-size: 3em;
padding: 20px;
}
.overlay {
position: absolute;
top:0;
height: 100%;
width: 100px;
backdrop-filter: invert() grayscale();
}
<div class="content">Lorem Ipsum</div>
<img src="https://www.thehappycatsite.com/wp-content/uploads/2017/09/Black-and-White-Cat-Names-HC-long.jpg" alt="cat" width="200" height="108">
<div class="overlay"></div>
Автор решения: Alexandr_TT
→ Ссылка
Одной из идей является дублирование текста
<h1 class="lp-header first">Наша команда</h1>
<h1 class="lp-header second">Наша команда</h1>
Переменные CSS используются для определения цвета, благодаря этому можно легко изменить их в одном месте, если понадобится цвет отличный от чёрно белого.
Также использован clip-path, чтобы скрыть половину одного текста и показать другую:
Для смены цвета текста и фона,- наведите курсор
body {
margin: 0;
--c1:white;
--c2:black;
}
body:hover {
--c1:crimson;
--c2:blue;
}
h1 {
font-size: 4em;
text-transform: uppercase;
font-family:Verdana;
margin: 0;
}
.first {
background:var(--c1);
-webkit-text-stroke: 3px var(--c2);
}
.second {
background:var(--c2);
-webkit-text-stroke: 3px var(--c1);
clip-path:polygon(0% 0%, 50% 0%, 50% 100%,0% 100%);
}
.lp-header {
position:absolute;
top:0;
left:0;
right:0;
min-height:100vh;
box-sizing:border-box;
color: transparent;
z-index: 1;
padding: 50px;
text-align: center;
transition:0.5s;
}
<h1 class="lp-header first">Наша команда</h1>
<h1 class="lp-header second">Наша команда</h1>
