> 웹 프론트엔드 > CSS 튜토리얼 > 순수 CSS를 사용하여 센터링을 달성하는 방법 요약

순수 CSS를 사용하여 센터링을 달성하는 방법 요약

巴扎黑
풀어 주다: 2017-09-20 09:49:02
원래의
1326명이 탐색했습니다.

이 글에서는 라인 높이 센터링 방법, 테이블 셀 센터링 방법, 위, 아래, 왼쪽 및 오른쪽 위치 지정 + 여백 센터링 방법, 50% 위치 지정 + 여백 등 순수 CSS를 사용하여 센터링을 달성하는 7가지 주요 방법을 주로 소개합니다. 센터링 방법, 50% 포지셔닝 + 번역 센터링 방법, Flexbox 센터링 방법 및 Flexbox + 여백 센터링 방법, 도움이 필요한 친구들이 참고하고 배울 수 있습니다.

머리말

한 번은 취업 면접 중에 면접관이 CSS 질문인 것을 기억합니다. 브라우저 창에서 요소를 위, 아래, 왼쪽, 오른쪽에 가운데 배치하는 방법. 당시 제가 했던 대답은 먼저 JS를 사용하여 브라우저 창 높이를 가져온 다음 본문에 line-height를 창 높이로 설정하고 text-align:center를 설정한 다음 요소 display:inline-을 설정하는 것이었습니다. 블록 및 수직 정렬 : 중간. 하아, 지금 생각만 해도 피곤해요.

JS여야 하나요? CSS만 사용하여 요소를 중앙에 배치하는 방법이 없나요? 대답은 그렇습니다! 그리고 한 가지 이상의 방법이 있습니다!

1.줄 높이 중심 정렬 방법

상위 요소: text-align: center; line-height:600px;text-align: center; line-height:600px; font-size: 0;

子元素:display: inline-block; vertical-align: middle;
 

注:600px必须为父元素的高度,这里还需注意的一点是font-size需设为零,若未写该属性将导致元素并不能精确垂直居中。该方法即为我面试时所答的方法,缺点很明显,父元素高度须确定。(兼容IE8+)

二、table-cell居中法

父元素:display: table-cell; text-align: center; vertical-align: middle;

子元素:display: inline-block;
 

注:兼容IE8+

三、上下左右定位+margin居中法

父元素:position: relative;

子元素:position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto;
 

注:兼容IE8+

四、50%定位+margin居中法

父元素:position: relative;

子元素:position: absolute; left: 50%; top: 50%; margin: -200px 0 0 -200px;
 

注:200px须为该子元素的宽高的一半。例如该子元素宽为100px,高为50px,那么margin取值为-25px 0 0 -50px。该方法缺点是须确定子元素宽高。(兼容IE8+)

五、50%定位+translate居中法

父元素:position: relative;

子元素:position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
 

注:该方法使用了CSS3 transform属性,适合用于移动端。(兼容IE9+)

六、Flexbox居中法

父元素:display: flex; justify-content: center; align-items: center;
 

注:该方法使用了Flexbox弹性布局,移动端兼容性也存在很大问题。(兼容IE10+)

七、Flexbox+margin居中法

父元素:display: flex;

子元素:margin: auto;

하위 요소: display: inline-block; Vertical-align: middle;

참고:

600px는 상위 요소의 높이여야 합니다. 여기서 주목해야 할 또 다른 사항은 글꼴 크기가 필요하다는 것입니다. 0으로 설정하려면 이 속성을 작성하지 않으면 요소가 정확하게 세로 중앙에 배치되지 않습니다. 이 방법은 제가 인터뷰 때 답변한 방법인데, 단점이 명확하게 보이는 부분은 부모 요소의 높이를 결정해야 합니다. (IE8 이상과 호환) 🎜🎜🎜🎜2. 테이블 셀 센터링 방법🎜🎜🎜🎜상위 요소: display: table-cell; text-align: center;🎜🎜 하위 요소: display: inline-block;
🎜🎜🎜🎜참고: 🎜🎜위, 아래, 왼쪽, 오른쪽 및 중앙 위치 지정 + 여백은 IE8+🎜🎜🎜🎜3과 호환됩니다. 센터링 방법🎜🎜🎜🎜상위 요소: 위치: 상대;🎜🎜하위 요소: 위치: 절대; 오른쪽: 0; auto;
🎜🎜🎜🎜참고: 🎜🎜IE8+🎜🎜🎜🎜4와 호환됩니다. 50% 위치 지정 + 여백 중심 지정 방법🎜🎜🎜🎜상위 요소: 위치: 상대; code>🎜🎜하위 요소: <code>위치: 절대; 왼쪽: 50%; 위쪽: 50%; 여백: -200px 0 0 -200px;
🎜🎜🎜🎜참고: 🎜🎜200px 하위 요소의 너비와 높이의 절반이어야 합니다. 예를 들어 하위 요소의 너비가 100px이고 높이가 50px인 경우 여백 값은 -25px 0 0 -50px입니다. 이 방법의 단점은 하위 요소의 너비와 높이를 결정해야 한다는 것입니다. (IE8 이상과 호환) 🎜🎜🎜🎜 5. 50% 위치 지정 + 중심 이동 방법🎜🎜🎜🎜상위 요소: 위치: 상대;🎜🎜하위 요소: 위치: 절대 왼쪽: 50%; 상위: 50%; 변환: 변환(-50%,-50%);
🎜🎜🎜🎜참고: 🎜🎜이 방법은 CSS3 변환 속성을 사용하며 모바일 단말기에 적합합니다. . (IE9 이상과 호환) 🎜🎜🎜🎜 6. Flexbox 센터링 방법 🎜🎜🎜🎜부모 요소: display: justify-content: align-items: center;
🎜🎜 🎜 🎜참고: 🎜🎜이 방법은 Flexbox 탄력적 레이아웃을 사용하며 모바일 호환성에도 큰 문제가 있습니다. (IE10 이상과 호환) 🎜🎜🎜🎜7. Flexbox+여백 센터링 방식🎜🎜🎜🎜상위 요소: display: flex;🎜🎜하위 요소: margin: auto; 🎜 🎜🎜🎜참고: 🎜🎜위와 동일, IE10+와 호환 가능🎜

위 내용은 순수 CSS를 사용하여 센터링을 달성하는 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿