2016-10-08 2 views
0

enter image description hereКак вы центрируете контейнер внутри столбца?

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

Кроме того, по какой-либо причине мои столбцы не корректно форматируются при использовании google chrome. Я думал, что -webkit - должен был это исправить?

.columns { 
 
\t -webkit-column-count: 3; 
 
\t -moz-column-count: 3; 
 
\t column-count: 3; 
 
\t column-gap: 20px; 
 
} 
 

 
.columns-format { 
 
\t display: inline-block; 
 
\t width: auto; 
 
} 
 

 
.image-container { 
 
\t display: inline-block; 
 
\t border: 1px solid #ddd; 
 
    border-radius: 4px; 
 
    padding: 5px; 
 
    transition: 0.3s; 
 
\t box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
 
\t margin: auto; 
 
} 
 

 
.image-container hover { 
 
\t box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
<div class="columns"> 
 
<div class="columns-format"> 
 
<h4>Professionals</h4> 
 
<p>As Northeast Ohio Landscapers, Landscaping Company has been caring for customers and their properties throughout Cuyahoga County since 1981.</p> 
 

 
<p>Our core values: 
 
<ul> 
 
\t <li>Bring a positive attitude with you each and every day</li> 
 
\t <li>Work hard, pitch in, be helpful and productive</li> 
 
\t <li>Be fair and respectful with all people in all encounters</li> 
 
</ul> 
 
</p> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/stairwell.jpg"> 
 
\t \t <img src="images/stairwell.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 

 
<div class="columns-format"> 
 
<h4>Services</h4> 
 
<p>Whether you are new to Cuyahoga County, switching landscape service providers, or need to add a service to your existing account, Landscaping Company makes it easy for you.</p> 
 
<p>Experienced in every facet of the landscape industry, we fulfil our one goal - total care philosophy by meeting your every need in the following areas:</p> 
 
<p>Residential Landscape</p> 
 
<p>Maintenance Landscape</p> 
 
<p>Design/Installation</p> 
 
<p>Plant Health Care</p> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/flowers.jpg"> 
 
\t \t <img src="images/flowers.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 

 
<div class="columns-format"> 
 
<h4>Mission</h4> 
 
<p>When it comes to Residential Landscape Maintenance in Northeast Ohio, we have a pretty simple mission.</p> 
 
<p>Our mission is to unite people in positive relationships to improve lives.</p> 
 
<p>This includes not only our great customers but also our fantastic employees and vendors that we work with each and every day.</p> 
 
<p>If we are not improving your life then we are not living up to our mission.</p> 
 
</div> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/lighting.jpg"> 
 
\t \t <img src="images/lighting.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div>

+0

подготовить скрипку? он не имеет отношения к фрагментам – Siddharth

+0

@Siddharth https://jsfiddle.net/babws8k3/ Я заметил, что фрагменты плохи, если вы не разворачиваете их на весь экран. Он также выглядит странно в Google Chrome по какой-либо причине, поэтому, если вы используете IE или FireFox, он будет выглядеть лучше. Я не знаю, как это исправить. – ChaCol

+0

получил это, добавил ответ, посмотрите – Siddharth

ответ

1

Могу ли я предложить вам использовать flexbox inste объявление от columns.

columns более предназначен, чтобы сделать тексты и изображения динамически распространяется на определенное количество столбцов и ваш образец выглядит больше как 3 колонки, которые должны были его содержание, содержащиеся в каждой колонке, которая columns не делает.

Для того, чтобы ваши изображения/столбцы не перекрывают друг друга, вы либо дать минимальную ширину (в примере ниже) columns-format, установите размер изображения в процентах, обернуть столбцы и т.д.

.columns { 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 
.columns-format { 
 
    display: inline-block; 
 
    width: 30%; 
 
    min-width: 300px; 
 
} 
 
.image-container { 
 
    text-align: center; 
 
} 
 
.image-container a { 
 
    display: inline-block; 
 
    border: 1px solid #ddd; 
 
    border-radius: 4px; 
 
    padding: 5px; 
 
    transition: box-shadow 0.3s; 
 
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
 
} 
 
.image-container a:hover { 
 
    box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5); 
 
}
<div class="columns"> 
 
    <div class="columns-format"> 
 
    <h4>Professionals</h4> 
 
    <p>As Northeast Ohio Landscapers, Landscaping Company has been caring for customers and their properties throughout Cuyahoga County since 1981.</p> 
 

 
    <p>Our core values:</p> 
 
    <ul> 
 
     <li>Bring a positive attitude with you each and every day</li> 
 
     <li>Work hard, pitch in, be helpful and productive</li> 
 
     <li>Be fair and respectful with all people in all encounters</li> 
 
    </ul> 
 
    <div class="image-container"> 
 
     <a target="_blank" href="images/stairwell.jpg"> 
 
     <img src="images/stairwell.jpg" width="250px" height="200px"> 
 
     </a> 
 
    </div> 
 
    </div> 
 

 
    <div class="columns-format"> 
 
    <h4>Services</h4> 
 
    <p>Whether you are new to Cuyahoga County, switching landscape service providers, or need to add a service to your existing account, Landscaping Company makes it easy for you.</p> 
 
    <p>Experienced in every facet of the landscape industry, we fulfil our one goal - total care philosophy by meeting your every need in the following areas:</p> 
 
    <p>Residential Landscape</p> 
 
    <p>Maintenance Landscape</p> 
 
    <p>Design/Installation</p> 
 
    <p>Plant Health Care</p> 
 
    <div class="image-container"> 
 
     <a target="_blank" href="images/flowers.jpg"> 
 
     <img src="images/flowers.jpg" width="250px" height="200px"> 
 
     </a> 
 
    </div> 
 
    </div> 
 

 
    <div class="columns-format"> 
 
    <h4>Mission</h4> 
 
    <p>When it comes to Residential Landscape Maintenance in Northeast Ohio, we have a pretty simple mission.</p> 
 
    <p>Our mission is to unite people in positive relationships to improve lives.</p> 
 
    <p>This includes not only our great customers but also our fantastic employees and vendors that we work with each and every day.</p> 
 
    <p>If we are not improving your life then we are not living up to our mission.</p> 
 
    <div class="image-container"> 
 
     <a target="_blank" href="images/lighting.jpg"> 
 
     <img src="images/lighting.jpg" width="250px" height="200px"> 
 
     </a> 
 
    </div> 
 
    </div> 
 
</div>

+0

Это отлично работает, за исключением того, что он форматирует его так, что нижняя часть столбцов выровнена, что оставляет пучок белого пространства в первом и третьем столбцах. Не знаете, как это исправить. http://imgur.com/a/71tQi Похоже, что это происходит только в IE, работает в Google Chrome, однако, когда я изменяю его размер в Google Chrome, он перекрывает контейнер, а не реагирует. http://imgur.com/a/ySHZI – ChaCol

+0

@ChaCol В вашем экранном дампе это выглядит так: 'column' имеет' align-items: flex-end; ', должен быть' align-items: flex-start; '. Чтобы убедиться в этом, мне нужно увидеть код – LGSon

+0

https://jsfiddle.net/kjtqybuu/ Я просто использовал код, который вы мне дали. Что делает оправдание-контент: пространство-между? Кажется, он не переделывает его. – ChaCol

0

Является ли этот выход R U ожидает?

проверить выход в Link to Jsbin

.columns { 
 
\t -webkit-column-count: 3; 
 
\t -moz-column-count: 3; 
 
\t column-count: 3; 
 
\t column-gap: 20px; 
 
} 
 

 
.columns-format { 
 
    text-align:center; 
 
    margin:auto; 
 
\t 
 
\t 
 
} 
 

 
.image-container { 
 
\t display: inline-block; 
 
\t border: 1px solid #ddd; 
 
    border-radius: 4px; 
 
    padding: 5px; 
 
    transition: 0.3s; 
 
\t box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
 
\t margin: auto; 
 
    text-align:center; 
 
} 
 

 
.image-container hover { 
 
\t box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width"> 
 
    <title>JS Bin</title> 
 
</head> 
 
<body> 
 
<div class="columns"> 
 
<div class="columns-format"> 
 
<h4>Professionals</h4> 
 
<p>As Northeast Ohio Landscapers, Landscaping Company has been caring for customers and their properties throughout Cuyahoga County since 1981.</p> 
 

 
<p>Our core values: 
 
<ul> 
 
\t <li>Bring a positive attitude with you each and every day</li> 
 
\t <li>Work hard, pitch in, be helpful and productive</li> 
 
\t <li>Be fair and respectful with all people in all encounters</li> 
 
</ul> 
 
</p> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/stairwell.jpg"> 
 
\t \t <img src="images/stairwell.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 

 
<div class="columns-format"> 
 
<h4>Services</h4> 
 
<p>Whether you are new to Cuyahoga County, switching landscape service providers, or need to add a service to your existing account, Landscaping Company makes it easy for you.</p> 
 
<p>Experienced in every facet of the landscape industry, we fulfil our one goal - total care philosophy by meeting your every need in the following areas:</p> 
 
<p>Residential Landscape</p> 
 
<p>Maintenance Landscape</p> 
 
<p>Design/Installation</p> 
 
<p>Plant Health Care</p> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/flowers.jpg"> 
 
\t \t <img src="images/flowers.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 

 
<div class="columns-format"> 
 
<h4>Mission</h4> 
 
<p>When it comes to Residential Landscape Maintenance in Northeast Ohio, we have a pretty simple mission.</p> 
 
<p>Our mission is to unite people in positive relationships to improve lives.</p> 
 
<p>This includes not only our great customers but also our fantastic employees and vendors that we work with each and every day.</p> 
 
<p>If we are not improving your life then we are not living up to our mission.</p> 
 
</div> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/lighting.jpg"> 
 
\t \t <img src="images/lighting.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 
</body> 
 
</html>

+0

Только изображения контейнеров внизу, а не текст. – ChaCol

1

Добавить еще один класс в разделе -

<div class="columns-format"> 
<div class='text-container'> 
<h4>Professionals</h4> 
<p>As Northeast Ohio Landscapers, Landscaping Company has been caring for customers and their properties throughout Cuyahoga County since 1981.</p> 

<p>Our core values: 
<ul> 
    <li>Bring a positive attitude with you each and every day</li> 
    <li>Work hard, pitch in, be helpful and productive</li> 
    <li>Be fair and respectful with all people in all encounters</li> 
</ul> 
</p> 
</div> 
<div class="image-container"> 
    <a target="_blank" href="images/stairwell.jpg"> 
     <img src="images/stairwell.jpg" width="250px" height="200px"> 
     </a> 
</div> 
</div> 

и поставить CSS

.text-container{text-align: left;} 

добавить две строки в CSS столбцов формата

.columns-format { 
    display: inline-block; 
    width: auto; 
    float: left; 
    text-align: center; 
} 
+0

Спасибо, это работало по большей части. По какой-то причине он отформатировал мои разделы, чтобы больше не быть в отдельных столбцах. Вы знаете, как я могу это исправить? http://imgur.com/a/S2Rxm – ChaCol

+0

Вы можете использовать

или для лучшего вывода. Я рекомендую использовать строку и столбец начальной загрузки, которые также будут работать на чутко реагирующем веб-сайте. –

0

Вы должен ограждающий DIV вокруг до вашего контейнера изображения рядного блока. Нечто подобное добавление класса

.centered{ text-align:center }

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
    <title>Document</title> 
    <style> 
    .columns { 
    -webkit-column-count: 3; 
    -moz-column-count: 3; 
    column-count: 3; 
    column-gap: 20px; 
    } 

    .columns-format { 
    display: inline-block; 
    width: auto; 
    } 

    .image-container { 
    display: inline-block; 
    border: 1px solid #ddd; 
     border-radius: 4px; 
     padding: 5px; 
     transition: 0.3s; 
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
    margin: 0 auto; 
    } 

    .image-container hover { 
    box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5); 
    } 
    .centered{ 
    text-align:center; 
    } 
</style> 
</head> 
<body> 
    <div class="columns"> 
<div class="columns-format"> 
<h4>Professionals</h4> 
<p>As Northeast Ohio Landscapers, Landscaping Company has been caring for customers and their properties throughout Cuyahoga County since 1981.</p> 

<p>Our core values: 
<ul> 
    <li>Bring a positive attitude with you each and every day</li> 
    <li>Work hard, pitch in, be helpful and productive</li> 
    <li>Be fair and respectful with all people in all encounters</li> 
</ul> 
</p> 
<div class = "centered"> 

<div class="image-container"> 
    <a target="_blank" href="images/stairwell.jpg"> 
     <img src="http://placehold.it/200x200" width="250px" height="200px"> 
     </a> 
</div> 
</div> 
</div> 

<div class="columns-format"> 
<h4>Services</h4> 
<p>Whether you are new to Cuyahoga County, switching landscape service providers, or need to add a service to your existing account, Landscaping Company makes it easy for you.</p> 
<p>Experienced in every facet of the landscape industry, we fulfil our one goal - total care philosophy by meeting your every need in the following areas:</p> 
<p>Residential Landscape</p> 
<p>Maintenance Landscape</p> 
<p>Design/Installation</p> 
<p>Plant Health Care</p> 

<div class = "centered"> 
<div class="image-container"> 
    <a target="_blank" href="images/flowers.jpg"> 
     <img src="http://placehold.it/200x200" width="250px" height="200px"> 
     </a> 
</div> 
</div> 
</div> 

<div class="columns-format"> 
<h4>Mission</h4> 
<p>When it comes to Residential Landscape Maintenance in Northeast Ohio, we have a pretty simple mission.</p> 
<p>Our mission is to unite people in positive relationships to improve lives.</p> 
<p>This includes not only our great customers but also our fantastic employees and vendors that we work with each and every day.</p> 
<p>If we are not improving your life then we are not living up to our mission.</p> 
</div> 

<div class = "centered"> 

<div class="image-container"> 
    <a target="_blank" href="images/lighting.jpg"> 
     <img src="http://placehold.it/200x200" width="250px" height="200px"> 
     </a> 
</div> 
</div> 
</div> 

</body> 
</html> 
+0

Это может сработать. Знаете ли вы, почему в Google Chrome он искажает столбцы, как будто только 2 вместо 3? http://imgur.com/a/I5PUE – ChaCol

0

просто добавить display: flex к .column-formats и дать flex-directioncolumn и вы хорошо идти

.columns { 
 
\t -webkit-column-count: 3; 
 
\t -moz-column-count: 3; 
 
\t column-count: 3; 
 
\t column-gap: 20px; 
 
} 
 

 
.columns-format { 
 
\t display: flex; 
 
\t width: auto; 
 
    flex-direction:column 
 
} 
 

 
.image-container { 
 
\t display: inline-block; 
 
\t border: 1px solid #ddd; 
 
    border-radius: 4px; 
 
    padding: 5px; 
 
    transition: 0.3s; 
 
\t box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
 
\t margin: auto; 
 
} 
 

 
.image-container hover { 
 
\t box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
<div class="columns"> 
 
<div class="columns-format"> 
 
<h4>Professionals</h4> 
 
<p>As Northeast Ohio Landscapers, Landscaping Company has been caring for customers and their properties throughout Cuyahoga County since 1981.</p> 
 

 
<p>Our core values: 
 
<ul> 
 
\t <li>Bring a positive attitude with you each and every day</li> 
 
\t <li>Work hard, pitch in, be helpful and productive</li> 
 
\t <li>Be fair and respectful with all people in all encounters</li> 
 
</ul> 
 
</p> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/stairwell.jpg"> 
 
\t \t <img src="images/stairwell.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 

 
<div class="columns-format"> 
 
<h4>Services</h4> 
 
<p>Whether you are new to Cuyahoga County, switching landscape service providers, or need to add a service to your existing account, Landscaping Company makes it easy for you.</p> 
 
<p>Experienced in every facet of the landscape industry, we fulfil our one goal - total care philosophy by meeting your every need in the following areas:</p> 
 
<p>Residential Landscape</p> 
 
<p>Maintenance Landscape</p> 
 
<p>Design/Installation</p> 
 
<p>Plant Health Care</p> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/flowers.jpg"> 
 
\t \t <img src="images/flowers.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 

 
<div class="columns-format"> 
 
<h4>Mission</h4> 
 
<p>When it comes to Residential Landscape Maintenance in Northeast Ohio, we have a pretty simple mission.</p> 
 
<p>Our mission is to unite people in positive relationships to improve lives.</p> 
 
<p>This includes not only our great customers but also our fantastic employees and vendors that we work with each and every day.</p> 
 
<p>If we are not improving your life then we are not living up to our mission.</p> 
 
<div class="image-container"> 
 
\t <a target="_blank" href="images/lighting.jpg"> 
 
\t \t <img src="images/lighting.jpg" width="250px" height="200px"> 
 
\t \t </a> 
 
</div> 
 
</div> 
 

 
</div>