transition질문있습니다~
1.css를 설정해줄 때 display: flex; 를 하지 않으면 트렌지션이 적용이 안되던데 이유가 뭔가요?
같은 .button1에 .transition: width 0.3s ease랑
transition: color 0.3s ease를 사용하면 계속해서 오류 메세지가 뜨던데 같이 못 쓰는건가요? 답변 부탁드립니다!
답변 1
0
안녕하세요! 지민님!
조금 더 정확히 말씀드리면, display: flex보다는 해당 요소가 블록요소인지, 인라인요소인지가 중요해요!^^
예를들면 <div />와 같은 블록요소는 기본적으로 한 줄 전체를 차지하겠죠?!
따라서, 한 줄 전체를 차지하는 박스의 width 사이즈를 300px, 400px 등으로 고정시킬 수 있답니다!
반면, <span />과 같은 인라인요소는 기본적으로 가로넓이가 내부텍스트의 사이즈로 결정되어요!
따라서, 이러한 인라인요소는 width 사이즈를 지정하시더라도, 내부텍스트의 사이즈가 길어지지 않는이상 의미가 없답니다!
이러한 상황아래, <a /> 태그에 css를 지정하셨는데, <a />태그는 인라인 요소이기 때문에, width가 먹지 않은 것이었어요!
이를 해결하기 위해선 <a /> 태그를 블록요소인 <div />, <p /> 태그 등으로 변경하시거나, <a /> 태그를 강제로 display: block, display: flex 등을 주어 블록요소로 변경하시는 방법 등이 있겠네요!
여기서 지민님은 display: flex를 사용하신 것 맞죠?!^^
다음으로, transition을 두 번 작성하셨다고 하셨는데, 아래와 같이 작성하신 것 같아요!
.button1 {
width: 192px;
background-color: blue;
transition: width 3s ease; // 트랜재션1
transition: background-color 3s ease; // 트랜지션2
}
.button1:hover {
width: 400px;
background-color: red;
}css는 transition 특성을 떠나 모든 특성에 대하여, 동일한 것을 반복으로 작성했을 때, 가장 아래쪽만 영향을 받고 위에 것은 무시된답니다!^^
이를 바탕으로 위 코드에서 트랜지션1은 무시되고, 트랜지션2만 영향을 받게 되겠죠?!^^
따라서, 둘 다 적용하기 위해서는 아래와 같이 변경해 보세요!
.button1 {
width: 192px;
background-color: blue;
transition: width 3s ease, background-color 3s ease;
}
.button1:hover {
width: 400px;
background-color: red;
}
background vs background-color
0
24
1
노션 자료위치
0
84
2
강의 수강 후 실습
0
327
1
강의 내용과 같은 작업을 쉽게 도와주는 라이브러리 같은 것도 있나요?
1
311
1
강의학습시 작성한 코드를 블로그에 올려도 될까요?
0
394
2
안녕하세요 이미지 관련해서 질문이 있습니다,
0
365
1
codepen질문입니다.
0
304
2
섹션 5. position 강의 중 absolute와 relative의 사용법에 대한 질문 있습니다!
0
225
1
노션 학습 링크
0
374
1
반응형 실습
0
284
2
@media 미디어 쿼리 적용 안되는 이유
0
1261
1
35분 강의 내용중 :after 사용관련
0
270
2
코드캠프 로드맵 이후 질문사항
0
328
1
diary-date 부분 질문
0
314
1
transform 3번째 강의 질문
0
313
1
강의자료
0
470
1
학습자료 요청건
0
396
1
레이아웃 질문드려요~
0
384
1
vscode 새로운 폴더 불러오기
0
390
1
grid속성 6:36에 나오는 것.
0
318
1
left:calc(100% - 100px) 질문드립니다.
0
734
1
텍스트박스안에서 padding-bottom 이 이렇습니다
0
400
2
단위심화 강의 중 질문 있습니다.
0
345
1
영상 중간 생략
0
319
1






