본문 바로가기

WEB_TECH/CSS2

CSS로 정렬하기를 배워봅시다

정렬을 하기위해서는 Block요소의 태그에서 적용됩니다.

<h1>, <p>, <div> 등의 태그에서 쓸 수 있습니다.

주의 : 인라인태그에서는 적용되지 않습니다.


1. margin:auto를 이용한 중앙정렬

문단을 중앙 정렬하려면 margin:auto 속성을 사용합니다.

그런데 이 방법은 도큐타입이 정해지지 않았거나 ie8이하의 브라우저에서는 작동하지 않습니다.

왼쪽과 오른쪽 여백을 auto로 설정해도 같은 결과가 나옵니다.

margin-left:auto;

margin-right:auto;


[참고소스]

<!DOCTYPE html>

<html>

<head>

<style>

.center

{

margin:auto;

width:70%;

background-color:#b0e0e6;

}

</style>

</head>


<body>

<div class="center">

<p>In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.</p>

<p>'Whenever you feel like criticizing anyone,' he told me, 'just remember that all the people in this world haven't had the advantages that you've had.'</p>

</div>

<p><b>Note: </b>Using margin:auto will not work in IE8, unless a !DOCTYPE is declared.</p>

</body>

</html>



2. left, right 속성을 사용하여 정렬

<!DOCTYPE html>

<html>

<head>

<style>

.right

{

  position:absolute;

  right:0px;

  width:300px;

  background-color:#b0e0e6;

}

</style>

</head>


<body>

<div class="right">

<p>In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.</p>

<p>'Whenever you feel like criticizing anyone,' he told me, 'just remember that all the people in this world haven't had the advantages that you've had.'</p>

</div>

</body>

</html>


position:absolute; 요소는 정상흐름에서 제거되어서 요소를 겹치게 하는 결과를 초래할 수 있습니다.

위 예제에서는 right속성을 0으로 주어서 오른쪽에 정렬시켰네요.

position:relative로 하면 오른쪽으로 정렬되지 않습니다.

결국 이 방법은 비정상적인 방법이기 때문에 HTML문서에서 쓰기에는 썩 좋아보이지 않습니다.



3. float 속성을 이용한 정렬

<!DOCTYPE html>

<html>

<head>

<style>

.right

{

  float:right;

  width:300px;

  background-color:#b0e0e6;

}

</style>

</head>


<body>

<div class="right">

<p>In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.</p>

<p>'Whenever you feel like criticizing anyone,' he told me, 'just remember that all the people in this world haven't had the advantages that you've had.'</p>

</div>

</body>

</html>


이렇게 float:right라고 하면 오른쪽으로 흘러가 붙습니다.


정렬을 사용할때 주의할 점 

다른 브라우저에서의 시각적인 차이를 막으려면 항상 <body>요소의 여백과 패딩을 미리 정해 놓는 것이 좋습니다. ie8이전 버전이나 !DOCTYPE 이 선언되어 있지 않은 경우 오른쪽에 17px의 여백을 추가합니다.


'WEB_TECH > CSS2' 카테고리의 다른 글

CSS image sprite  (0) 2013.05.15
CSS 박스모델이 무엇인가요?  (0) 2013.04.26
브라우저 사이즈만큼 이미지 늘어나게 만들기  (0) 2013.04.25
레이아웃 예제 모은 사이트 경로  (0) 2012.10.31
CSS 기본문법  (2) 2012.10.31
간단한 레이아웃 예제  (0) 2012.10.22