💡깨달음💡/CSS
CSS_요소의 가로정렬
과부하가즈아
2024. 1. 27. 15:14
❓레이아웃을 자유자재로 사용하는 것을 연습하는 도중 가로로 배열하는 일이 더 많았음 자주 사용하는 방법 정리하기로❓
<body>
<section>
<article>1</article>
<article>2</article>
<article>3</article>
</section>
</body>
section{
border: 5px solid;
}
article{
background-color: yellow;
height: 100px;
width: 200px;
border: 1px solid red;
}
이 block요소의 배치를 가로로 바꿔보기!
1. float속성을 사용하기(+overflow: hidden)
float속성을 사용하여 배치를 바꿀 수 있다.
section {
border: 5px solid;
}
article {
background-color: yellow;
height: 100px;
width: 200px;
border: 1px solid red;
float: left;
}
단, float라는 떠있다는 성질 탓에 부모요소에서 없는 것으로 판단을 하게 된다. 그래서 부모요소에 직접 크기 값을 지정해주거나 overflow: hidden을 사용해준다.
section {
border: 5px solid;
overflow: hidden;
}
article {
background-color: yellow;
height: 100px;
width: 200px;
border: 1px solid red;
float: left;
}
➕ 중앙으로 정렬하기
2. display로 요소의 성질 바꿔주기
block요소인데 inline으로 바꿔주기
section{
border: 5px solid;
}
article{
background-color: yellow;
height: 100px;
width: 200px;
border: 1px solid red;
/* 블럭요소인 article을 inline요소로 바꿔주기 */
display: inline;
}
그러나 inline요소는 크기 값(너비와 높이)을 가질 수 없어서
인라인의 성격과 block의 성격을 동시에 지닌 inline-block으로 지정해준다.
section{
border: 5px solid;
}
article{
background-color: yellow;
height: 100px;
width: 200px;
border: 1px solid red;
display: inline-block;
}
➕ 중앙으로 정렬하기
1. 중앙으로 요소를 정렬할때는 margin: auto를 사용하는데 margin은 block요소일때만 적용이 된다. 그래서 display를 사용해서 block요소로 바꿔주고 margin을 사용해서 중앙으로 정렬해 준다.
이는 요소의 가로배치가 안되는 것 같다,,,(불분명,,,ㅎ)
section {
border: 5px solid;
}
article {
background-color: yellow;
height: 100px;
width: 200px;
border: 1px solid red;
display: block;
margin: auto;
}
2. 자식 요소를 부모요소에 text-align: center을 지정해주기
section{
border: 5px solid;
text-align: center;
}
article{
background-color: yellow;
height: 100px;
width: 200px;
border: 1px solid red;
display: inline-block;
}