inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)

가상클래스 before after 가상클래스 활용한 실전 퍼블리싱 02(보더 애니메이션 네비게이션 호버 이펙트)

가상클래스 before after 가상클래스 활용한 실전 퍼블리싱 02(보더 애니메이션 네비게이션 호버 이펙트)

해결된 질문

185

Next

작성한 질문수 64

3

안녕하세요! 질문드립니다.

16:32 부분에

left:50%;

transform:translateX(-50%);를 주셨는데

왜 이 두 속성을 주신지 이해는 가는데

transform:translateX(-50%)를 주지 않으면 가운데에서 좌우로 채워지는게 아닌 첨부한 사진처럼  그냥 오른쪽으로 width가 쭉 늘어나버리는데 왜 그런건가요?

transform:translateX(-50%)를 주지 않으니 가상클래스의 위치뿐만 아니라 너비가 늘어나는 방향도 달라져버리는 이유가 궁금합니다.

 

jquery HTML/CSS

답변 2

2

코딩웍스(Coding Works)

안녕하세요. 코딩웍스입니다.

transform: translateX(-50%) 속성의 의미는 before인 아래쪽 막대의 너비가 커지면 커지는 너비 크기 만큼 비례해서 -50%만큼씩 계속 왼쪽으로 이동시키는 역할을 합니다. 그래서 중앙을 유지한채 좌우로 늘어나는 효과를 만들 수 있습니다.

좀더 이해하기 쉽게 말씀드리면...

0% 시점 곧, 시작할 때 before로 만든 아래 막대가 width: 0 이 것입니다.
50% 시점에는 
before로 만든 아래 막대가 예를 들어 width: 50px 만큼 커졌다고 할 때  transform: translateX(-50%) 속성으로 너비의 50%만큼 왼쪽으로 이동하니까 너비는 유지하고 중앙을 계속 유지하게 됩니다.

 결론은 중앙을 유지하면서 좌우로 커지기 위해서는 반드시 left: 50%; 와 transform: translateX(-50%); 필요합니다.

1

Next

감사합니다! 정확하게 이해했습니다ㅎ

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

486

2

화면 정중앙에 오게끔 할수있나요?

1

169

1

어코디언 네비게이션 중

1

127

1

라이브서버 문제

1

230

2

넷플릭스 어코디언 예제 질문

1

105

1

이번 강의에선 display flex가 무조건 적으로 필요한건가요 ?

1

158

1

active 관련 질문

1

147

2