Наезд блоков друг на друга в bootstrap

618
11 июля 2017, 20:31

Попробовал сегодня впервые bootstrap. И сразу впал в недоумение. При уменьшении размеров экрана колонки с классами col-xs-* наезжают друг на друга, текст и картинки из соседних дивов в одном ряду перекрывают друг друга, padding и margin игнорируются.

Для полного исправления ситуации приходится ставить для col-xs-* display:inline-table либо display:table. Это так и должно быть? Или я чего-то не так подключил?

Вот пример:

.container { 
    width: 320px !important; 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<div class="container"> 
  <div class="row"> 
    <div class="col-xs-1"><img src="http://via.placeholder.com/350x350" alt=""></div> 
    <div class="col-xs-1">Текст Текст </div> 
    <div class="col-xs-3">Текст Текст </div> 
    <div class="col-xs-3">Текст Текст </div> 
  </div> 
</div>

Вот исходный файл:

<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap 101 Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- Project css -->
<link rel="stylesheet" href="css/styles.css">
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js">
  </script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js">
</script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="row">
<div class="col-xs-1"><img src="http://via.placeholder.com/350x350" alt=""></div>
<div class="col-xs-1">Текст Текст </div>
<div class="col-xs-3">Текст Текст </div>
<div class="col-xs-3">Текст Текст </div>
</div>
</div>
<!-- JavaScript section -->
<script 
src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
</script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
Answer 1

На экране мобильного слово в колонке может оказаться шире самой колонки. Тогда оно выйдет за края колонки и будет казаться, что колонки наползли друг на друга.

Есть два типовых способа этого избежать:

  1. уменьшать размер шрифта с помощью медиа-запросов;

  2. Перестраивать сетку, чтобы на экране мобильного колонки занимали больше условных столбцов — не один-два, а шесть или все двенадцать.

А чтобы картинки не выходили за пределы колонки, в бутстрапе предусмотрен специальный класс .img-responsive. Он задаёт картинке три свойства:

max-width: 100%;
height: auto;
display: block;

.set-font-size { 
   font-size: 14px; 
} 
@media (min-width: 768px) { 
  .set-font-size { 
     font-size: 18px; 
  } 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<div class="container"> 
  <div class="row set-font-size"> 
    <div class="col-xs-6 col-sm-3"><img src="//via.placeholder.com/500x500" alt="" class="img-responsive"></div> 
    <div class="col-xs-6 col-sm-3">Первый первый первый первый первый первый первый первый первый первый первый первый первый.</div> 
    <div class="col-xs-12 col-sm-6">Второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй второй.</div> 
  </div> 
</div>

Answer 2

Ничего никуда не наезжает, см. сниппет. Возможно, вы не ограничили максимальный размер изображения.

img { 
  max-width: 100%; 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<div class="container"> 
  <div class="row"> 
    <div class="col-xs-1"><img src="http://via.placeholder.com/350x350" alt=""></div> 
    <div class="col-xs-3">Текст Текст </div> 
    <div class="col-xs-3">Текст Текст </div> 
  </div> 
</div>

READ ALSO
Если есть UPDATE, иначе INSERT

Если есть UPDATE, иначе INSERT

Есть таблица без первичного ключа:

261
PHPMyadmin проблема с импортом CSV файла

PHPMyadmin проблема с импортом CSV файла

Проблема вот в чем, когда импортирую файл с английскими названиями, все проходит успешно, но как только стоит сменить любое поля на русские...

310
Медленные запросы autoload = &#39;yes&#39;

Медленные запросы autoload = 'yes'

Сайт на WordPressУ меня много медленных запросов в БД:

268