我實際上不是任何級別的編碼員,只是想做自己的網站。
我找到了一些代碼來創建一個字幕效果。但我決定,如果我從代碼中刪除偏移值,對我來說就足夠了。
所以,我只想要我的& quot粗體標題& quot轉到& quot斜體& quot當我懸停它們時的樣式。我還想保持懸停狀態下的照片。但是當我試圖刪除或更改一些行時,偏移值一直在滑動。我的意思是,當我懸停在標題上時,我會看到多個標題以斜體顯示。
我猜這段代碼的一些行是不必要的,但這里是CSS:
*,
*::after,
*::before {
box-sizing: border-box;
}
:root {
font-size: 15px;
}
body {
margin: 0;
--color-text: #000000;
--color-bg: #000000;
--color-link: #000000;
--color-link-hover: #000000;
color: var(--color-text);
background-color: var(--color-bg);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-family: sofia-pro, sans-serif;
}
a {
text-decoration: none;
color: var(--color-link);
outline: #cec7ff;
}
a:hover,
a:focus {
color: var(--color-link-hover);
outline: none;
}
.menu {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
padding: 10vh 0 25vh;
--marquee-width: 100vw;
--offset: 20vw;
--move-initial: calc(-25% + var(--offset));
--move-final: calc(-50% + var(--offset));
--item-font-size: 5vw;
counter-reset: menu;
}
.menu__item {
cursor: default;
position: relative;
padding: 0 5vw;
}
.menu__item-link {
display: inline-block;
cursor: pointer;
position: relative;
-webkit-text-stroke: 0px #000;
text-stroke: 0px #000;
-webkit-text-fill-color: #000000;
text-fill-color: transparent;
color: transparent;
transition: opacity 0.4s;
}
.menu__item-link:hover {
transition-duration: 0.1s;
opacity: 0;
}
.menu__item-img {
pointer-events: none;
position: absolute;
height: 30vh;
max-height: 400px;
opacity: 0;
left: 120%;
top: 50%;
transform: translate3d(calc(-100% - 6vw),-30%,0) translate3d(0,10px,0);
}
.menu__item-link:hover + .menu__item-img {
opacity: 1;
transform: translate3d(calc(-100% - 6vw),-30%,0) rotate3d(0,0,0,0deg);
transition: all 0.2s;
}
/* Make sure 3 items are visible in the viewport by setting suitable font size. */
.marquee {
position: absolute;
top: 0;
left: 0;
width: var(--marquee-width);
overflow: hidden;
pointer-events: none;
mix-blend-mode: color-burn;
}
.marquee__inner {
width: fit-content;
display: flex;
position: relative;
transform: translate3d(var(--move-initial), 0, 0);
animation: marquee 6s linear infinite;
animation-play-state: paused;
opacity: 0;
transition: opacity 0.1s;
}
.menu__item-link:hover ~ .marquee .marquee__inner {
animation-play-state: running;
opacity: 1;
transition-duration: 0.4s;
}
.marquee span {
text-align: center;
}
.menu__item-link,
.marquee span {
white-space: nowrap;
font-size: var(--item-font-size);
padding: 0 1vw;
font-weight: 900;
line-height: 1.15;
}
.marquee span {
font-style: italic;
}
@keyframes marquee {
0% {
transform: translate3d(var(--move-initial), 0, 0);
}
100% {
transform: translate3d(var(--move-final), 0, 0);
}
}
@media screen and (min-width: 53em) {
.frame {
text-align: left;
display: grid;
align-content: space-between;
width: 100%;
padding: 2.5rem 6vw;
pointer-events: none;
grid-template-columns: 75% 25%;
grid-template-rows: auto;
}
}
只需將以下代碼復制粘貼到您的CSS中 假設您的標題是字幕內的一個跨度:
.marquee span{
transition: font-style 0.3s ease;
}
.marquee span:hover {
font-style: italic !important;
font-weight: 700 !important;
}