가상클래스 before after 가상클래스 활용한 실전 퍼블리싱 02(보더 애니메이션 네비게이션 호버 이펙트)
안녕하세요! 질문드립니다.
16:32 부분에
left:50%;
transform:translateX(-50%);를 주셨는데
왜 이 두 속성을 주신지 이해는 가는데
transform:translateX(-50%)를 주지 않으면 가운데에서 좌우로 채워지는게 아닌 첨부한 사진처럼 그냥 오른쪽으로 width가 쭉 늘어나버리는데 왜 그런건가요?
transform:translateX(-50%)를 주지 않으니 가상클래스의 위치뿐만 아니라 너비가 늘어나는 방향도 달라져버리는 이유가 궁금합니다.
답변 2
2
안녕하세요. 코딩웍스입니다.
transform: translateX(-50%) 속성의 의미는 before인 아래쪽 막대의 너비가 커지면 커지는 너비 크기 만큼 비례해서 -50%만큼씩 계속 왼쪽으로 이동시키는 역할을 합니다. 그래서 중앙을 유지한채 좌우로 늘어나는 효과를 만들 수 있습니다.
좀더 이해하기 쉽게 말씀드리면...
0% 시점 곧, 시작할 때 before로 만든 아래 막대가 width: 0 이 것입니다.
50% 시점에는 before로 만든 아래 막대가 예를 들어 width: 50px 만큼 커졌다고 할 때 transform: translateX(-50%) 속성으로 너비의 50%만큼 왼쪽으로 이동하니까 너비는 유지하고 중앙을 계속 유지하게 됩니다.
결론은 중앙을 유지하면서 좌우로 커지기 위해서는 반드시 left: 50%; 와 transform: translateX(-50%); 필요합니다.
class 값 한 번에 부여하는법
2
80
1
@media에서의 flex-direction: column으로 세로배치 관련 질문드립니다.
1
69
1
div#css-checker-widget의 해결방
1
60
2
input의 포커스되었을때 검정선이 사라지지 않아요
0
79
2
강의듣는법
1
74
1
아코디언 만들기 100%이하의 화면으로 보았을때
1
68
2
input checked 질문합니다.
0
77
1
Bracket Pair Colorizer - 비주얼 스튜디오
1
140
2
Part 1 영상 안나옵니다
1
90
1
제이쿼리 작동이 안됩니다
1
199
3
강의 내용 질문있습니다.
1
120
2
일정 부분만 주석하는 방법
1
211
2
폰트어썸
1
134
2
인접선택자에 대한 질문드립니다!
1
129
2
delay 적용 안됨
1
135
1
rotateY(360deg)가 적용이 안됩니다!
1
186
2
세로이동할때 height값
1
139
2
폰트어썸이 안되요..
1
487
2
화면 정중앙에 오게끔 할수있나요?
1
169
1
어코디언 네비게이션 중
1
127
1
라이브서버 문제
1
230
2
넷플릭스 어코디언 예제 질문
1
105
1
이번 강의에선 display flex가 무조건 적으로 필요한건가요 ?
1
158
1
active 관련 질문
1
147
2





