Align vertically using CSS 3

后端 未结 8 1152
忘了有多久
忘了有多久 2020-11-30 19:21

With CSS 3, are there any way to vertically align an block element? Do you have an example? Thank you.

相关标签:
8条回答
  • 2020-11-30 19:53

    Note: This example uses the draft version of the Flexible Box Layout Module. It has been superseded by the incompatible modern specification.

    Center the child elements of a div box by using the box-align and box-pack properties together.

    Example:

    div
    {
    width:350px;
    height:100px;
    border:1px solid black;
    
    /* Internet Explorer 10 */
    display:-ms-flexbox;
    -ms-flex-pack:center;
    -ms-flex-align:center;
    
    /* Firefox */
    display:-moz-box;
    -moz-box-pack:center;
    -moz-box-align:center;
    
    /* Safari, Opera, and Chrome */
    display:-webkit-box;
    -webkit-box-pack:center;
    -webkit-box-align:center;
    
    /* W3C */
    display:box;
    box-pack:center;
    box-align:center;
    } 
    
    0 讨论(0)
  • 2020-11-30 19:54

    I always using tutorial from this article to center things. It's great

    div.container3 {
       height: 10em;
       position: relative }              /* 1 */
    div.container3 p {
       margin: 0;
       position: absolute;               /* 2 */
       top: 50%;                         /* 3 */
       transform: translate(0, -50%) }   /* 4 */
    

    The essential rules are:

    1. Make the container relatively positioned, which declares it to be a container for absolutely positioned elements.
    2. Make the element itself absolutely positioned.
    3. Place it halfway down the container with 'top: 50%'. (Note that 50%' here means 50% of the height of the container.)
    4. Use a translation to move the element up by half its own height. (The '50%' in 'translate(0, -50%)' refers to the height of the element itself.)
    0 讨论(0)
提交回复
热议问题