html — Как выровнять изображение по центру блока и оставить его в «полном размере»?
Задать вопрос
Вопрос задан
Изменён 6 лет 9 месяцев назад
Просмотрен 157 раз
Есть блок фиксированного размера
.item-img { height: 255px; width: 205px; border: 1px solid #e5e5e5;}
В этом блоке изображение (могут быть разных размеров)
Нужно сделать что бы оно центрировалось и по горизонтали и по вертикали, и при этом оставалось пропорционально своим размерам
Как такое сотворить?
- html
- css
- вёрстка
В этом примере я изображение заменил на div. Но если убрать размеры и вставить картинку, то тоже сработает.
.block { width: 300px; height: 300px; background: black; position: relative; } .image { position: absolute; width: 120px; height: 160px; left: 0; right: 0; top: 0; bottom: 0; margin: auto; background: white; }
<div> <div> </div> </div>
0
Пробуйте так. Результат тут http://codepen.io/anon/pen/QyYrbp
<div> <img src="http://ftimes.ru/upkeep/uploads/2015/12/Google.jpg"> </div> .block { width: 400px; height: 250px; background: black; position: relative; } .image { position: absolute; max-width: 100%; max-height: 100%; left: 0; right: 0; top: 0; bottom: 0; margin: auto; background: white; }
1
Зарегистрируйтесь или войдите
Регистрация через GoogleРегистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
На CSS как выровнять изображение по центру по вертикали?
Приглашаем модераторов в команду форума.
- Автор темы tarantul
- Дата начала
tarantul
tarantul
- #1
Войдите или зарегистрируйтесь для ответа.
Вопрос Вопрос программистам по html и css
- lsdfernosio
- Вопросы по сайтостроению
- Ответы
- 4
- Просмотры
- 158
termiot
Вопрос Как выравнивать объекты по линии в используя только HTML?
- Кирилка228
- Вопросы по сайтостроению
- Ответы
- 4
- Просмотры
- 101
Lider
Вопрос Можно ли как -то зарабатывать, имея навыки только языков разметки HTML/CSS ?
- graph
- Вопросы по сайтостроению
- Ответы
- 4
- Просмотры
- 164
salemko
Вопрос Как понять что выучил html и можно переходить к CSS?
- adreaqy
- Вопросы по сайтостроению
- Ответы
- 5
- Просмотры
- 160
ramzes
Вопрос Легкий вопросик по поводу CSS
- Серж Горелый
- Вопросы по сайтостроению
- Ответы
- 4
- Просмотры
- 111
Эдуард
Поделиться:
Vkontakte Odnoklassniki Mail. ru Liveinternet Livejournal
Facebook Twitter Reddit Pinterest Tumblr WhatsApp Telegram Viber Skype Line Gmail yahoomail Электронная почта Поделиться СсылкаСверху Снизу
Центрирование изображения в CSS
- Использование свойства
display
иmargin
Свойства для центрирования изображения в CSS - Использование свойства
text-align
Для центрирования изображения в CSS - Использование свойства
CSS 5 flexbox 90 центрировать изображение
В этой статье мы представим три метода центрирования изображения в HTML с помощью CSS.
Используйте свойства
display
и margin
для центрирования изображения в CSS Мы можем использовать свойства CSS
и margin
вместе, чтобы центрировать изображение. Свойство display
изображения изначально имеет значение inline
. Поэтому мы можем добавить несколько изображений в строку. Например, если мы напишем следующий код, мы увидим два изображения подряд.
Поэтому мы должны изменить свойство display
изображения на блок
, чтобы в строке размещалось только одно изображение. Затем мы можем задать изображению margin
of 0px auto
, чтобы центрировать его. Изображение будет иметь поля 0px
сверху и снизу. Первым значением может быть любое число, а вторым значением должно быть auto
. auto
дает изображению поле, которое помещает его прямо в центр.
Например, создайте HTML-документ и поместите изображение с помощью img
тег. Напишите правильно значение src
и напишите alt
, чтобы сделать изображение значимым, когда изображение не отображается по какой-либо причине. Используйте изображение-заполнитель https://loremflickr.com/320/240
в атрибуте src
. В CSS установите для свойства display
значение block
и задайте ему margin
of 0px auto
. Первое значение margin
устанавливается на любое число в соответствии с нашим требованием.
В приведенном ниже примере показано, что изображение центрировано, поскольку мы установили значение display
на block
и задали ему поле
из 0px auto
.
Пример кода:
com/320/240" alt="cat" />
изображение{ дисплей: блок; поле: 0px авто; }
Используйте свойство
text-align
для центрирования изображения в CSS Мы можем использовать свойство CSS text-align
для центрирования изображения. Мы можем обернуть изображение внутри div
и установите для свойства text-align
значение center
, тогда изображение будет центрировано. Этот метод может центрировать несколько изображений в строке, в отличие от предыдущего метода, который центрировал только одно изображение. Мы можем использовать этот метод как для одного, так и для нескольких изображений.
Например, создайте div
и дайте ему класс parent
. Затем внутри div
используйте тег img
для загрузки изображения. Установите src
на https://loremflickr.com/320/240
и альтернативы
до кат
. В CSS выберите div
, используя имя его класса, например .parent
, и установите для свойства text-align
значение center
.
В приведенном ниже примере показано, что изображение внутри div центрировано, поскольку мы установили CSS-свойство text-align
для div
как center
.
Пример кода:
.родительский { выравнивание текста: по центру; }
Использование свойства CSS
flexbox
для центрирования изображения Flexbox — одна из наиболее широко используемых технологий CSS. Основная идея flexbox
— дать контейнеру возможность изменять свои элементы. Мы можем использовать свойства flexbox
внутри контейнера, установив свойство display
как flex
. Затем мы можем использовать свойство justify-content: center
для центрирования элементов или изображений внутри контейнера по горизонтали. Мы можем установить align-items
свойство to center
для центрирования элементов по вертикали.
Например, создайте div
и дайте ему имя класса container
. Затем поместите изображение внутрь div
, используя тег img
с src
и alt
. Выберите div
, используя имя его класса, например .container
, и установите для свойства display
значение flex
. Затем установите justify-content
свойство flexbox
в центр
.
В приведенном ниже примере показано, что изображение
внутри div
центрировано с использованием свойств flexbox
.
<дел>
.контейнер{ дисплей: гибкий; выравнивание содержимого: по центру; }
Как центрировать элемент с помощью CSS
Центрирование элемента в CSS — это задача, которая сильно отличается, если вам нужно центрировать по горизонтали или по вертикали.
В этом посте я объясню наиболее распространенные сценарии и способы их решения. Если Flexbox предоставляет новое решение, я игнорирую старые методы, потому что нам нужно двигаться вперед, а Flexbox уже много лет поддерживается браузерами, включая IE10.
Центрировать по горизонтали
Текст
Текст очень просто центрировать по горизонтали с помощью свойства text-align
, установленного на center
:
p { выравнивание текста: по центру; }
Блоки
Современный способ центрировать все, что не является текстом, — это использовать Flexbox:
#mysection { дисплей: гибкий; выравнивание содержимого: по центру; }
любой элемент внутри #mysection
будет центрирован по горизонтали.
Вот альтернативный подход, если вы не хотите использовать Flexbox.
Все, что не является текстом, можно центрировать, применяя автоматические поля слева и справа и устанавливая ширину элемента:
section { поле: 0 авто; ширина: 50%; }
вышеуказанное поле : 0 авто;
— это сокращение от:
раздел { поле сверху: 0; нижняя граница: 0; поле слева: авто; поле справа: авто; }
Не забудьте установить для элемента значение display: block
, если это встроенный элемент.
Вертикальное центрирование
Традиционно это всегда было сложной задачей. Теперь Flexbox предоставляет нам отличный способ сделать это самым простым способом:
#mysection { дисплей: гибкий; выравнивание элементов: по центру; }
любой элемент внутри #mysection
будет центрирован по вертикали.
Центрирование как по вертикали, так и по горизонтали
Методы Flexbox для центрирования по вертикали и горизонтали можно комбинировать для полного центрирования элемента на странице.
#mysection { дисплей: гибкий; выравнивание элементов: по центру; выравнивание содержимого: по центру; }
То же самое можно сделать с помощью CSS Grid:
body { отображение: сетка; место-предметы: центр; высота: 100вх; }
В конце января организую веб Разработка Учебный лагерь.
Это 10-недельный групповой онлайн-курс, на котором я помогу вам стать веб-разработчиком.
Это не "просто курс". Это большое мероприятие, которое я организую раз в год.
Мы начнем с нуля, изучим основы веб-разработки, HTML CSS, JavaScript, Tailwind, Git, используя команда line, VS Code, GitHub, Node.js, затем мы изучим React, JSX, как использовать PostgreSQL, Astro, Next.js, Prisma, развертывание на Netlify/DigitalOcean/Fly/Vercel и многое другое!
В конце первых 10 недель вы будете знать, как создавать веб-сайты и веб-приложения, а я открою ты 2-й этап Bootcamp: вы получите доступ к большому количеству проектов, эксклюзивных для Bootcamp выпускники, так что вы можете следуйте моим инструкциям, чтобы создавать такие вещи, как личные области с аутентификацией, клоны популярных сайтов, таких как Твиттер YouTube Reddit, создание сайтов электронной коммерции и многое другое.