프론트/css

[css]display 속성(2)

척척박사또라에몽 2022. 6. 21. 23:40

display 속성이 변하는 경우

1) float 속성 : inline-block으로 변경됨

2) position : inline-block 으로 변경됨

3) 가상 클래스 ::before :: after : inline 으로 변경됨

 

인라인 요소를 block으로 변경하면 너비는 자동으로 100%로 변경됨

인라인 블락 요소를 block으로 변경해도 너비가 자동으로 바뀌지 않기 때문에 width : 100%를 줘야한다.

 

여기서 width: 100% 와 width : auto의 차이는 뭘까?

 

기본 코드가 이렇게 있다고 가정하고

양 옆에 padding-left:40px 씩 주면 width : 100% 를 하면 밖으로 빠져 나온다

display를 inline-block으로 바꾸면 width: auto는 컨텐츠의 크기에 맞게 너비가 변하고 width: 100%는 전체를 채운다

아까와 같이 padding-left: 40px 줘도 inline-block일때 width:auto는 40px이 더해진 컨텐츠의 크기에 맞춰 너비가 커지고

width:100%는 부모의 크기와 상관없이 벗어난다

 

width:auto는 태그 요소의 성질(inline, inline-block, block) 에 맞춰서 크기가 변한다! 만약 width를 입력하지 않으면 default 값은 auto라서 인라인 블락 요소를 block으로 변경해도 너비가 자동으로 바뀌지 않기 때문에 width : 100%를 줘야한다. 에 적용되는것!

 

 

width: 100%

부모 요소의 너비에 영향을 받는다
margin, padding, border 영역 모두 포함
width: auto;

자식 요소 너비에 영향을 받는다
margin, padding, border 영역 포함하지 않는다

 

 

'프론트 > css' 카테고리의 다른 글

브라우저 초기화 리셋 css reset  (0) 2022.06.12
display 속성 핵심 정리  (0) 2022.06.09