Responsive vertical center with overflow hidden

后端 未结 5 1114
北荒
北荒 2021-02-01 07:27

After searching both Stack Overflow and Google I still wonder how to vertical center a image that is bigger than it\'s parent element. I use no height, just max-height, because

相关标签:
5条回答
  • 2021-02-01 08:05

    I found a way to make it work with only a max-height (as opposed to a fixed height) set on the container.

    The bad news is that it requires an additional wrapper element.

    HTML:

    <div class="img-wrapper">
        <div class="img-container">
            <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg">
        </div>
    </div>
    

    CSS:

    .img-wrapper {
        overflow: hidden;
        max-height: 425px;
    }
    
    .img-container {
        max-height: inherit;
        transform: translateY(50%);
    }
    
    .img-wrapper img {
        display: block;
        transform: translateY(-50%);
    }
    
    0 讨论(0)
  • 2021-02-01 08:10

    Try

    <html>
    <head>
    </head>
    <body >
    
        <div style="max-height: 425px;border:1px solid;max-width:500px;overflow:hidden">
            <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg" style='position: relative;top: -231px;left: -500px;'>
        </div>
    </body>
    </html>
    
    0 讨论(0)
  • 2021-02-01 08:11

    to center vertically an bigger image u can use the construction and css bellow

    <div class="img-wrapper">
        <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg">
    </div>
    

    And css:

    .img-wrapper{
        position: relative;
        overflow:hidden;
        height:425px;
    }
    
    .img-wrapper img{
        position: absolute;
        top:-100%; left:0; right: 0; bottom:-100%;
        margin: auto;
    }
    

    FIDDLE

    0 讨论(0)
  • 2021-02-01 08:11

    if you want to make a responsive image, try using
    <div style="">
    <img src="http://img.youtube.com/vi/jofNR_WkoCE/maxresdefault.jpg" width="100%" height="100%">
    </div>

    0 讨论(0)
  • 2021-02-01 08:19

    If you dont need to use img tags (fiddle):

    CSS

    .imageContainer {
        margin: 0; 
        height: 200px; /* change it to your value*/
        width: 200px; /* or use fixed width*/
        background: transparent url('') no-repeat center;
        overflow: hidden; 
    }
    

    HTML

    <div class="imageContainer" style="background-image: url('http://deepwish.com/site/wp-content/uploads/2013/10/butterfly2_large.jpg');"></div>
    
    0 讨论(0)
提交回复
热议问题