Я неправильно использовал Bootstrap, поэтому переписываю свой код. Я понимаю, что важно следовать структуре: container > row > col. Я использую карточки, поэтому, когда область просмотра меньше 768 пикселей, элементы блока будут карточками. Демо можно увидеть здесь:
Раньше я использовал правильный Bootstrap: Перед переписыванием
После того, как я переписал, чтобы исправить Bootstrap: После перезаписи в бутстрап
После того, как я переписал для правильного использования Bootstrap, элементы блока летают поверх друг друга. Как я вижу - это класс: <div class = "index-content"> вызывает эту проблему. Если этот класс ниже row, он работает, но если я устанавливаю <div class = "index-content"> внутри <div class = "col-sm-4">, блоки летают.
Кто-нибудь знает, как я могу решить эту проблему?
Мой исходный код, который там работал, выглядел так:
<div class = "row">
<div class = "index-content">
<div class = "container">
<div class = "col-sm-4 small-padding right bottom">
<div class = "card">
<img src = "https://image.ibb.co/iiWA2T/bmw_1.jpg"></img>
<div class = "card-content">
<h4>BMW NEW MODELS</h4>
<a href = "#" class = "blue-button">Read More</a>
</div>
</div>
</div>
<div class = "col-sm-8 small-padding left">
<div class = "card">
<img src = "https://image.ibb.co/nJ97Go/bmw.jpg"></img>
<div class = "card-content">
<h4>BMW NEW MODELS</h4>
<!-- <p>Brødtekst</p> -->
<a href = "#" class = "blue-button">Read More</a>
</div>
</div>
</div>
</div>
</div>
</div>
После перезаписи, чтобы исправить Bootstrap:
<div class = "container">
<div class = "row">
<div class = "col-sm-4 small-padding right bottom">
<div class = "index-content">
<div class = "card">
<img src = "https://image.ibb.co/iiWA2T/bmw_1.jpg"></img>
<div class = "card-content">
<h4>BMW NEW MODELS</h4>
<a href = "#" class = "blue-button">Read More</a>
</div>
</div>
</div>
<div class = "col-sm-8 small-padding left">
<div class = "card">
<img src = "https://image.ibb.co/nJ97Go/bmw.jpg"></img>
<div class = "card-content">
<h4>BMW NEW MODELS</h4>
<!-- <p>Brødtekst</p> -->
<a href = "#" class = "blue-button">Read More</a>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
/* Card and Button */
.index-content a:hover {
color: black;
text-decoration: none;
}
.index-content {
/*margin-bottom: 20px;*/
/*padding: 50px 0px;*/
}
.index-content .row {
margin-top: 20px;
}
.index-content a {
color: black;
}
.index-content .card {
background-color: #FFFFFF;
padding: 0;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
}
.index-content .card:hover {
box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.3);
color: black;
}
.index-content .card img {
width: 100%;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
height: 350px;
}
.index-content .card h4 {
margin: 20px;
}
.index-content .card p {
margin: 20px;
opacity: 0.65;
}
.index-content .blue-button {
width: 100px;
-webkit-transition: background-color 1s, color 1s;
/* For Safari 3.1 to 6.0 */
transition: background-color 1s, color 1s;
min-height: 20px;
background-color: #002E5B;
color: #ffffff;
border-radius: 4px;
text-align: center;
font-weight: lighter;
margin: 0px 20px 15px 20px;
padding: 5px 0px;
display: inline-block;
}
.index-content .blue-button:hover {
background-color: #dadada;
color: #002E5B;
}
@media (max-width: 768px) {
.index-content .col-lg-4 {
margin-top: 20px;
}
}
@media (min-width: 768px) {
.card {
position: relative;
}
.card-content {
position: absolute;
bottom: 0;
width: 100%;
background: rgba(0, 0, 0, 0.5);
}
.card-content h4,
.card-content p {
color: white;
width: 100%;
float: left;
margin: 0 0 5px;
}
.card-content a {
float: right;
}
.index-content .card h4,
.index-content .card p {
padding: 15px 20px;
margin: 0;
}
.index-content .card p {
padding: 0 20px 15px;
margin: 0;
}
}
/* GRID ELEMENTS */
/* Set width between block elements */
.small-padding.top {
padding-top:10px;
}
.small-padding.bottom {
padding-bottom:10px;
}
.small-padding.left {
padding-left:5px;
}
.small-padding.right {
padding-right:5px;
}
/* Media quries */
@media only screen and (max-width: 768px) {
.small-padding.bottom {
padding-bottom:10px;
}
}
@media only screen and (max-width: 768px) {
.row [class* = "col-"] {
padding-left: 5px;
padding-right: 5px;
}
}
</style>
Извини да. Я разместил CSS сейчас






<div class = "row">
<div class = "col-sm-4">
<div class = "index-content">
<div class = "card">
<img src = "https://image.ibb.co/iiWA2T/bmw_1.jpg">
<div class = "card-content">
<h4>BMW NEW MODELS</h4>
<a href = "#" class = "blue-button">Read More</a>
</div>
</div>
</div>
</div>
<div class = "col-sm-8">
<div class = "card">
<img src = "https://image.ibb.co/nJ97Go/bmw.jpg" style = "width: 100%;">
<div class = "card-content">
<h4>BMW NEW MODELS</h4>
<!-- <p>Brødtekst</p> -->
<a href = "#" class = "blue-button">Read More</a>
</div>
</div>
</div>
</div>
Спасибо за предложение. Похоже, это решает некоторые проблемы. Но как я могу сохранить выравнивание двух изображений друг с другом на протяжении всего окна просмотра. Это должно быть 350 пикселей в высоту.
Я вижу, что кнопка также не работает на col-sm-8 с этим решением и темным градиентом под текстом и кнопкой.
Внутри <div class = "index-content"> просто отсутствовал col-sm-8. Работаю сейчас.
Не могли бы вы поделиться пользовательским CSS, который может мешать предоставленному коду?