반응형
가상클래스 중에서 :link 과 :visited 란?
이미 기존 클래스에서 한 것을 보니 나도 꼭 알아야 할 개념들인듯 하다
.btn:link와 .btn:visited는 CSS에서 링크 스타일을 지정하는 가상 클래스( pseudo-class)입니다. 이러한 가상 클래스를 사용하여 방문하지 않은 링크와 이미 방문한 링크의 스타일을 다르게 지정할 수 있습니다.
.btn:link는 방문하지 않은 링크의 스타일을 지정하는데 사용됩니다. 링크를 클릭하기 전에 해당 스타일이 적용되며, 일반적으로 링크의 기본 색상, 텍스트 스타일, 배경 등을 변경하는 데 사용됩니다.
.btn:visited는 이미 방문한 링크의 스타일을 지정하는데 사용됩니다. 사용자가 링크를 클릭하여 방문한 이후에 해당 스타일이 적용됩니다. 이를 통해 사용자가 방문한 링크와 방문하지 않은 링크를 시각적으로 구분할 수 있습니다. 주로 링크의 색상을 변경하는 데 사용됩니다.
text-transform
text-transform: uppercase;
텍스트 내용을 대문자들로 지정할 수 있다.
그리고 inline 요소일 때 padding 값을 주면 다른 요소를 침범하기 때문에 display: block 또는 inline-block 으로 변경해야 한다.
:active
요소를 클릭하면 활성 상태라고 한다.
box-shadow
해당 속성에서는 그림자의 x축 길이 y축 길이 그리고 blur 흐릿해지는 정도를 값으로 넣을 수 있다 그 다음 색상을 넣기
box-shadow(x length, y length, blur level, color);
버튼을 hover 했을 때 그리고 눌렀을 때 그림자와 translate 효과를 주었다
/*
COLORS:
Light green: #7ed56f
Medium green: #55c57a
Dark green: #28b485
*/
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: "Lato", "Sans-serif";
font-weight: 400;
font-size: 16px;
line-height: 1.7;
color: #777;
padding: 30px;
}
.header {
height: 95vh;
background-image: linear-gradient(
to right bottom,
rgba(126, 213, 111, 0.8),
rgba(40, 180, 133, 0.8)
),
url("../img/hero.jpg");
background-size: cover;
background-position: center;
clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
position: relative;
}
.logo-box {
position: absolute;
top: 50px;
left: 40px;
}
.logo {
height: 35px;
backface-visibility: hidden;
}
.logo:hover {
animation-name: moveInRight 1s ease-out;
}
.logo-box:hover .logo {
animation: moveInLeft 1s ease-out;
backface-visibility: hidden;
}
.text-box {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -40%);
text-align: center;
}
.heading-primary {
color: #fff;
text-transform: uppercase;
margin-bottom: 60px;
}
.heading-primary-main {
display: block;
font-size: 60px;
font-weight: 400;
letter-spacing: 35px;
animation-name: moveInLeft;
animation-duration: 1s;
animation-timing-function: ease-out;
/*
animation-iteration-count: 3;
animation-delay: 1.5s;
*/
/* backface-visibility: hidden; */
}
.heading-primary-sub {
display: block;
font-size: 20px;
font-weight: 700;
letter-spacing: 15px;
font-size: 17.4px;
/* animation-name: moveInRight;
animation-duration: 1s;
animation-timing-function: ease-in-out; */
animation: moveInRight 1s ease-in-out;
}
@keyframes moveInLeft {
0% {
opacity: 0;
transform: translateX(-100px);
}
80% {
transform: translateX(12px);
}
100% {
/* finished */
opaicty: 1;
transform: translateX(0);
}
}
@keyframes moveInRight {
0% {
opacity: 0;
transform: translateX(+100px);
}
80% {
transform: translateX(-12px);
}
100% {
/* finished */
opaicty: 1;
transform: translateX(0);
}
}
@keyframes logoHover {
0% {
color: red;
}
100% {
color: blue;
}
}
.btn:link,
.btn:visited {
text-transform: uppercase;
text-decoration: none;
padding: 15px 40px;
display: inline-block;
border-radius: 50px;
transition: all 0.2s;
}
.btn:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
.btn:active {
transform: translateY(-1px);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.btn-white {
background-color: #fff;
color: #777;
}
반응형
'온라인 강의 > Advanced CSS and Sass [Udemy]' 카테고리의 다른 글
Section 1. 새로운 개념 정리 (0) | 2023.07.06 |
---|---|
10. Building a Complex Animated Button - Part 2 (0) | 2023.07.06 |
8. Creating Cool CSS Animations (0) | 2023.07.05 |
7. Building the Header - Part 2 (0) | 2023.07.05 |
6. Building the Header (0) | 2023.07.05 |