이 글에서는 라인 높이 센터링 방법, 테이블 셀 센터링 방법, 위, 아래, 왼쪽 및 오른쪽 위치 지정 + 여백 센터링 방법, 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;
위치: 상대;
🎜🎜하위 요소: 위치: 절대; 오른쪽: 0; auto;
위치: 상대; code>🎜🎜하위 요소: <code>위치: 절대; 왼쪽: 50%; 위쪽: 50%; 여백: -200px 0 0 -200px;
위치: 상대;
🎜🎜하위 요소: 위치: 절대 왼쪽: 50%; 상위: 50%; 변환: 변환(-50%,-50%);
display: justify-content: align-items: center;
display: flex;
🎜🎜하위 요소: margin: auto;
🎜 🎜🎜🎜참고: 🎜🎜위와 동일, IE10+와 호환 가능🎜위 내용은 순수 CSS를 사용하여 센터링을 달성하는 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!