#html #css #wordpress #flexbox #grid
#HTML #css #wordpress #flexbox #сетка
Вопрос:
Здравствуйте, я пытаюсь сделать два изображения одинаковой высоты с помощью Flexbox на веб-сайте WordPress.
вот мой код:
.wrapper {
display: flex;
}
.wrapper > div:first-child {
margin-left: 15px;
}
.wrapper img{
width:150px;
}
<div class="wrapper">
<div class="img1"><img src="https://hostingstudies.com/wp-content/uploads/2020/10/wordpress-1882120_1280-3.png" />
<p>WordPress is the world’s most popular site builder. It powers more than 33% of all websites on the internet, that’s millions of websites all over the world.</p>
</div>
<div class="img2"><img src="https://hostingstudies.com/wp-content/uploads/2020/10/wordpress-923188_1280-2.jpg" />
<p>WordPress started as a simple blogging platform back in 2003. Since then it has evolved to become a content management system and an application development framework.</p>
</div>
</div>
Комментарии:
1. почему бы вам не установить фиксированную высоту в вашем img, как вы сделали для ширины?
2. Но я не хочу устанавливать фиксированную высоту, это разбивает мое изображение на меньшем экране. Есть ли какой-нибудь способ использовать flexbox??
3. Вам нужно установить изображение в контейнере, как я это сделал. Если вы действительно не можете, у вас может быть способ использования flex, но более сложный
Ответ №1:
Я устанавливаю изображение в контейнер img-container
с фиксированной высотой. И в этом я установил ваш img
, как показано ниже:
.img-container{
width: 100%;
height: 200px;
position: relative;
overflow: hidden;
}
.wrapper img{
height: 100%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
Я также установил ваш 2 div img следующим образом:
.img1, .img2{
width: 50%;
}
Конечный результат:
.wrapper {
display: flex;
}
.wrapper > div:first-child {
margin-left: 15px;
}
.img1, .img2{
width: 50%;
}
.img-container{
width: 100%;
height: 200px;
position: relative;
overflow: hidden;
}
.wrapper img{
height: 100%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
<div class="wrapper">
<div class="img1">
<div class="img-container">
<img src="https://hostingstudies.com/wp-content/uploads/2020/10/wordpress-1882120_1280-3.png" />
</div>
<p>WordPress is the world’s most popular site builder. It powers more than 33% of all websites on the internet, that’s millions of websites all over the world.</p>
</div>
<div class="img2">
<div class="img-container">
<img src="https://hostingstudies.com/wp-content/uploads/2020/10/wordpress-923188_1280-2.jpg" />
</div>
<p>WordPress started as a simple blogging platform back in 2003. Since then it has evolved to become a content management system and an application development framework.</p>
</div>
</div>
Комментарии:
1. при изменении размера браузера мое изображение все еще отображается на меньшем экране
2. @Mar Здесь я исправил с помощью небольшого
overflow: hidden
трюка3. Мне не сложно изменить размер браузера, и вы увидите проблему по высоте
4. @Mar Вы должны понимать, что 2 базовых изображения, которые не имеют одинакового базового размера, никогда не станут лучше. Я только что проверил, что на телефоне и компьютере размер iamge всегда находится в одной строке. Так что, я думаю, если вы хотите стать лучше, вам нужно будет вручную изменить размер и вырезать изображение, чтобы получить желаемый результат. Но вы не сможете стать лучше
5. Да, вы абсолютно правы, возможно, с flex box все сложнее
Ответ №2:
Я добавил высоту 100 пикселей
.wrapper {
display: flex;
}
.wrapper > div:first-child {
margin-left: 15px;
}
.wrapper img{
width:150px;
height: 100px;
}
<div class="wrapper">
<div class="img1"><img src="https://hostingstudies.com/wp-content/uploads/2020/10/wordpress-1882120_1280-3.png" />
<p>WordPress is the world’s most popular site builder. It powers more than 33% of all websites on the internet, that’s millions of websites all over the world.</p>
</div>
<div class="img2"><img src="https://hostingstudies.com/wp-content/uploads/2020/10/wordpress-923188_1280-2.jpg" />
<p>WordPress started as a simple blogging platform back in 2003. Since then it has evolved to become a content management system and an application development framework.</p>
</div>
</div>
Комментарии:
1. Есть ли способ сделать ту же высоту без установки фиксированной высоты, можно ли это сделать с помощью flexbox??
2. если исходные изображения не имеют одинаковой высоты, вам придется установить высоту, вы не можете указывать высоту с помощью flexbox, flexbox предназначен только для макетов