>  기사  >  웹 프론트엔드  >  수직 센터링을 달성하기 위한 9가지 순수 CSS 메소드 공유

수직 센터링을 달성하기 위한 9가지 순수 CSS 메소드 공유

yulia
yulia원래의
2018-09-21 15:16:311821검색

이 글은 수직 센터링에 중점을 두고 있으며, 관심 있는 친구들이 참고하시면 좋을 것 같습니다.

세로 센터링은 레이아웃에서 매우 일반적인 효과 중 하나입니다. 좋은 호환성을 달성하기 위해 PC에서 세로 센터링을 달성하는 방법은 일반적으로 절대 위치 지정, 테이블 셀, 음수 여백 및 기타 방법을 통해 이루어집니다. CSS3를 사용하면 모바일 단말기의 수직 센터링이 더욱 다양해집니다.

방법 1: table-cell

html 구조:

<div class="box box1">
        <span>垂直居中</span>
</div>

css:

.box1{
    display: table-cell;
    vertical-align: middle;
    text-align: center;        
}

방법 2: display:flex

.box2{
    display: flex;
    justify-content:center;
    align-items:Center;
}

방법 3: 절대 위치 지정 및 음수 여백

.box3{position:relative;}
.box3 span{
            position: absolute;
            width:100px;
            height: 50px;
            top:50%;
            left:50%;
            margin-left:-50px;
            margin-top:-25px;
            text-align: center;
        }

방법 4 : 절대 위치 지정 및 0

.box4 span{
  width: 50%; 
  height: 50%; 
  background: #000;
  overflow: auto; 
  margin: auto; 
  position: absolute; 
  top: 0; left: 0; bottom: 0; right: 0; 
}

이 방법은 위와 다소 비슷하지만 여기서는 margin:auto 와 위쪽, 왼쪽, 오른쪽, 아래쪽을 0으로 설정하여 센터링을 수행합니다. 놀랍습니다. 그러나 여기서는 내부 요소의 높이를 결정해야 하며, 이는 모바일 단말기에 더 적합한 백분율을 사용할 수 있습니다.

방법 5: 번역

.box6 span{
            position: absolute;
            top:50%;
            left:50%;
            width:100%;
            transform:translate(-50%,-50%);
            text-align: center;
        }

이것은 실제로 방법 3의 변형이며, 번역을 통해 전환이 이루어집니다.

방법 6: display:inline-block

.box7{
  text-align:center;
  font-size:0;
}
.box7 span{
  vertical-align:middle;
  display:inline-block;
  font-size:16px;
}
.box7:after{
  content:&#39;&#39;;
  width:0;
  height:100%;
  display:inline-block;
  vertical-align:middle;
}

이 방법은 정말 영리해요... 공간을 차지하려면 :after를 사용하세요.

방법 7: display:flex 및 margin:auto

.box8{
    display: flex;
    text-align: center;
}
.box8 span{margin: auto;}

방법 8: display:-webkit-box

.box9{
    display: -webkit-box;
    -webkit-box-pack:center;
    -webkit-box-align:center;
    -webkit-box-orient: vertical;
    text-align: center
}

css3은 광범위하고 심오하며 많은 창의적인 효과를 얻을 수 있으므로 연구해야 합니다. 주의하여.

방법 9: display:-webkit-box

이 방법에서는 div가 콘텐츠 요소 외부에 삽입됩니다. 이 div 높이를 설정합니다:50%; margin-bottom:-contentheight;.

content는 플로트를 지우고 중앙에 표시합니다.

<div class="floater"></div>  
<div class="content"> Content here </div>  
.floater {
    float:left; 
    height:50%; 
    margin-bottom:-120px;
}
.content {
    clear:both; 
    height:240px; 
    position:relative;
}

장점:

모든 브라우저에 적용 가능

공간이 충분하지 않은 경우(예: 창이 축소됨) 내용이 잘리지 않고 스크롤 막대가 나타납니다.

단점:

내가 할 수 있는 유일한 것은 추가로 빈 요소가 필요하다고 생각합니다(그렇게 나쁘지는 않습니다. 다른 주제입니다)

위 내용은 수직 센터링을 달성하기 위한 9가지 순수 CSS 메소드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.