display 속성은 요소를 어떻게 보여줄지를 결정하며 주로 4가지 속성값이 쓰인다.
요소를 렌더링하지 않도록 설정합니다. visibility 속성을 hidden으로 설정한 것과 달리, 영역도 차지하지 않습니다.
none과 visibility 차이!
none : 엘리먼트가 마치 존재하지 않는 것 처럼 페이지가 렌더링 된다.
visibility : hidden; 엘리먼트가 보이지 않더라도 여전히 공간을 차지한다.
<div>, <h1>, <p>, <li>, <section>
block태그 중 가장 많이 쓰는 태그는 biv태그 이다.
태그를 입력했는데 화면에 안나오는 이유는 뭘까?
// <div></div> 태그 내에 요소가 있는지 없는지에 따라 다르다.
1) 요소 O
* width : 화면 전체
* height : 요소의 세로 길이
2) 요소 X
* width : 0
* height: 0
가운데 정렬 방법
div를 화면의 중앙으로 정렬하고 싶을 때,
margin: 0 auto;를 쓰면 본인 기준으로 좌우에 margin이 생겨 화면의 중앙으로 오게 된다.
단, width를 따로 지정해줘야 한다. 지정하지 않으면
width가 100% (margin 없음) 또는 0이기 때문에 div가 가운데로 오지 않는다.
줄을 바꾸지 않고 다른 요소와 함께 한 행에 위치한다
<img>, <em>, <span>, <b>, <i>, <a>, <strong>
a 태그는 네비게이션 메뉴바를 만들 때 자주 쓰인다.
메뉴를 중앙 정렬 해보자
부모 div 안에 a 태그를 넣은뒤 inline 태그의 중앙 정렬을 위해, 부모 block 요소에 text-align: center를 적용해주자.
(text-align은 부모-block, 자식-inline 또는 inline-block 일 때만 적용된다, display: flex를 이용해도 된다)
중앙으로 a 태그를 모은 다음, 좌우 간격을 위해 margin을 적용한다.
.navBar {
background-color: gray;
padding: 10px 0;
text-align: center;
/*
display: flex;
justify-content: center;
*/
}
.navBar a {
margin: 0 20px; /* 좌우 간격 */
color: white;
text-decoration: none;
}
<button>, <input>, <textarea>
로그인, 회원가입 폼 마지막에 꼭 있는 버튼,
버튼을 중앙 정렬 해보고 싶은데 어떻게 할까?
부모 block 요소에 text-align: center 를 적용하면 된다.
(인라인 자식 요소만 중앙 정렬 된다)