세로로 (가로로) 센터는 CSS를 사용하여 DIV로 콘텐츠를 정렬
우리가 테이블 셀 내부에 일부 내용을 정렬, 우리의 페이지 레이아웃을 만드는 CSS로 처리해야만하기 전에 그냥 애들 장난 같았다. 간단히 "정렬"또는 원하는 정렬, 케이크 조각을 가지고있는 테이블의 "valign"속성을 설정합니다!
우리 요소 속성을 "수직 정렬"가 불구의 CSS 레이아웃을 통해, 그것은 "정렬"또는 "valign"등록 한 간단하게 될 것 같지 않습니다. 더 specifiic 될 수있는 "수직 정렬"크로스 브라우저 CSS의 조각을 작성하고 특히, 귀하의 문제를 해결할 것 같습니다하지 마십시오.
HTML 테이블의 사용없이, 객체 중심의 문제는, 그것 이미지 또는 함유 부문에서 일부 텍스트, 아마도 언젠가는 모든 UI / CSS 개발자 악몽이었습니다합니다. 이 문제는 더 이상 중심되는 개체가 자연 속에서 역동 경우 그 높이가 변수되면, IE를 정렬에 대해 걱정을 extrapolates (알 수없는 높이).
우리가 감당해내야만 브라우저의 범위에 걸쳐 효과적이라 알려진 바로 앞으로 해결책이 없다지만, 난 않습니다 도착하려고했는지 솔루션 (IE6, IE 7 전에 그것을 시도했다고 몇몇 브라우저에서 작동하는 것 , FF).
해결 방법 :
모질라, 오페라와 사파리와 같은 브라우저에서 이상한 속성이 단순히 "테이블 셀"(디스플레이 : 테이블 셀)에 포함된 부문의 '표시'속성을 설정하여, 그 감각에 회부 수있는 '수직이 정렬 "행동 .
문제는 아직, 아직 그들이, 그들은 단지 그것을 무시 마찬가지로 "테이블 - 셀"속성과 무지로 무엇으로 이해하는 사람이 아닌 것 같은데, 브라우저의 IE 가족과 함께 남아있다. 이런 일을하려면 HTML로 간단한 광고를 몇 가지 더 DOM 요소지만, 아래에 주어진 솔루션입니다.
CSS와 HTML은 다음과 같습니다
.outer_container {
display: table;
text-align:center;
height: 140px;
width:140px;
position: relative;
overflow: hidden;
float:left;
margin:0px 10px 0px 0px;
}
.obj_container {
display: table-cell;
vertical-align: middle;
#position: absolute;
#top: 50%;
#left:50%;
}
.obj{
#position: relative;
#top: -50%;
#left:-50%;
margin:0px auto 0px auto;
}HTML : -
<div class="outer_container">
<div class="obj_container">
<div class="obj"> <img src="image1.jpg"/> 전망 <br/> : 3,456 </ 사업부를>
</ 사업부>
</ 사업부>
결과는 다음과 같습니다 : -
여기 데모를 볼 | 다운로드 소스 파일 (451 회 다운로드)
솔루션에 대한 이해 :
테이블과 디스플레이 : 디스플레이 이해할 브라우저 테이블 셀 속성을, 그것은 거의 어떤 설명도 필요 없습니다. IE의 경우 사용하는 IE의 특정 해킹 (해쉬 해킹)와 함께, 우리는 절대로 사용할 수있는 높이의 절반에 객체 컨테이너 (obj_container)를 배치. 그런 다음 내에서 개체 (OBJ)가 상대적 위치이며 높이의 절반에 의해 이동됩니다 ... 글쎄! 나는 당신의 표정을 이해하고있는 것,하지만 그것은 작동합니다. 그것을보십시오!
위의 기술은 우리에게 상기 크로스 브라우저 솔루션을 제공하기 위해 결합됩니다.
상단이나 수직 정렬 : CSS는 쉽게 수직 정렬 달성하기 위해 아래와 같이 수정할 수 있습니다 하단에
TOP은 CSS를 정렬
.obj_container_top {
display: table-cell;
vertical-align: top;
#position: absolute;
#top: 0%;
#left:50%;
}
.obj_top{
#position: relative;
#top: 0%;
#left:-50%;
margin:5px auto 0px auto;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
color:#cccccc;
}HTML : -
<div class="outer_container">
<div class="obj_container_top">
<div class="obj_top"> <img src="image1.jpg"/> 전망 <br/> : 1,234 </ 사업부를>
</ 사업부>
</ 사업부>
결과는 다음과 같습니다 : -
아래는 CSS를 정렬
.obj_container_bottom {
display: table-cell;
vertical-align: bottom;
#position: absolute;
#bottom: 0%;
#left:50%;
}
.obj_bottom {
#position: relative;
#bottom: 0%;
#left:-50%;
margin:5px auto 0px auto;
}
HTML : -
<div class="outer_container">
<div class="obj_container_bottom">
<div class="obj_bottom"> <img src="image1.jpg"/> 전망 <br/> : 1,234 </ 사업부를>
</ 사업부>
</ 사업부>
결과는 다음과 같습니다 : -
간단히 여백 왼쪽을 설정하여하고 마진 오른쪽 자동으로 여백 속성을 구현할 객체의 중심 가로
내가이 정렬 문제에 대한 합리적인 해결책을 찾기 위해 노력 이후, 나이처럼 보인다. 그러나 이제는이 솔루션과 함께, 나는 작은 평화에서 느낍니다.
그 언젠가는 희망이
- CSS에서 수직 정렬 속성은 돌려 많이 이길 필요없이, 그것이 테이블 셀 안쪽처럼 작동합니다
- 적어도 마진 탑 설정 : 자동과 마진 - 하단 : 자동, 여백에서 왼쪽 및 오른쪽 여백 설정 자동으로와 같은 결과로 제공합니다
- 브라우저 전쟁 언젠가는 이상이 될 것입니다.
- 가이 모두를위한 하나의 브라우저.
여기에 위의 솔루션의 CSS와 HTML 다운로드 (451 회 다운로드) .. understandability 들어, CSS는 최적화되지 않습니다
PS : 그리고 참, 그 내가 클릭한 일부 사진의 작은 이미지입니다 ... ![]()










































