jivo banner 468x60jivo banner 728x90jivo banner 930x180beget banner 468x60beget banner 728x90beget banner 930x180smsc banner 468x60smsc banner 728x90smsc banner 930x180

Как вертикально выровнять изображение внутри div с помощью CSS

Вы можете выровнять изображение по вертикали по центру внутри <div>, используя CSS-свойство vertical-align в сочетании с display: table-cell; для содержащего элемента div.

Кроме того, поскольку CSS-свойство margin не применимо к элементам с display: table-cell;, поэтому мы обернули содержащий div другой div.outer-wrapper и применили к нему margin. Это решение будет работать даже для изображений с большей высотой, чем содержащие div.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Vertically Center the IMG in a DIV with CSS</title>
<style>
    .outer-wrapper{
        display: inline-block; 
        margin: 20px;
    }
    .frame{  
        width: 250px;
        height: 200px;
        border: 1px solid black;
        vertical-align: middle;
        text-align: center;
        display: table-cell;
    }    
    img{
        max-width: 100%;
        max-height: 100%;
        display: block;
        margin: 0 auto;
    }
</style>
</head>
<body>
    <!-- Выравнивание уменьшенного изображения -->
    <div class="outer-wrapper">
        <div class="frame">
            <img src="images/club.jpg" alt="Club Card">
        </div>
    </div>
    <br>
    <!-- Выравнивание негабаритного изображения по вертикали -->
    <div class="outer-wrapper">
        <div class="frame">
            <img src="images/kites.jpg" alt="Flying Kites">
        </div>
    </div>
    <br>
    <!-- Выравнивание негабаритного изображения по горизонтали -->
    <div class="outer-wrapper">
        <div class="frame">
            <img src="images/sky.jpg" alt="Cloudy Sky">
        </div>
    </div>
</body>
</html>

Вы также можете использовать метод абсолютного позиционирования для вертикального выравнивания изображения внутри div.

Давайте посмотрим на пример, чтобы понять, как это работает:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Vertically Align an Image inside a DIV using CSS</title>
<style>
    .frame{  
        width: 250px;
        height: 200px;
        margin: 20px;
        border: 1px solid black;
        position: relative;
    }    
    img{  
        max-height: 100%;  
        max-width: 100%; 
        position: absolute;  
        top: 0;  
        bottom: 0;  
        left: 0;  
        right: 0;  
        margin: auto;
    }
</style>
</head>
<body>
    <!-- Выравнивание уменьшенного изображения -->
    <div class="frame">
        <img src="images/club.jpg" alt="Club Card">
    </div>
    <br>
    <!-- Выравнивание негабаритного изображения по вертикали -->
    <div class="frame">
        <img src="images/kites.jpg" alt="Flying Kites">
    </div>
    <br>
    <!-- Выравнивание негабаритного изображения по горизонтали -->
    <div class="frame">
        <img src="images/sky.jpg" alt="Cloudy Sky">
    </div>
</body>
</html>
skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600smsc banner 480x320smsc banner 728x90smsc banner 120x600jivo banner 480x320jivo banner 728x90jivo banner 120x600

Читайте также

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как добавить CSS стили к элементу с дата атрибутом в HTML

Чтобы добавить CSS к <div> с определённым data атрибутом, можно использовать селектор атрибутов в вашем CSS-файле. Вот как это сделать: Объяснение Пример Вот пример, который добавляет стили к вашему <div>: В этом примере <div> с атрибутом data-container=»outer» будет иметь светло-серый фон, рамку и отступы. Текст внутри <div> будет выровнен по центру.
Подробнее

Как анимировать фоновый цвет элемента при наведении курсора мыши с помощью CSS

Вы можете использовать CSS-свойство transition, чтобы плавно анимировать background-color элемента при наведении курсора мыши. Давайте посмотрим пример, чтобы понять, как это работает:
Подробнее