@pleymo455

Как растянуть и выровнять по высоте 3 колонки div?

Сделал пример 3х колонок div, которые необходимо выровнять по высоте между собой, при этом чтобы верхний текст оставался фиксированным под картинкой и также слово "Регистрация" оставалась фиксированной внизу, только чтобы растягивалась середина блока между текстом и регистрацией, возможно ли сделать подобное с помощью css? В инете находил несколько таких примеров, но все они растягивали колонки без фиксации текста, только фон.

Буду очень признателен если кто-то сможет помочь

HTML:

<div class="container">
		
		
		<div class="box">
        <img style="width: 250px; height: 140px;" src="#"> 
		<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
		<p><a href="#"><b>Регистрация</b></a></p>
		</div>
            
            <div class="box">
        <img style="width: 250px; height: 140px;" src="#"> 
		<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
		<p><a href="#"><b>Регистрация</b></a></p>
		</div>
                
                <div class="box">
        <img style="width: 250px; height: 140px;" src="#"> 
		<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
		<p><a href="#"><b>Регистрация</b></a></p>
		</div>
            
            
</div>


CSS:

.container {
width: 876px;  
margin:0 auto;       
}

.box {
    width: 250px;	
    margin: 20px;
    text-align: center;
    float:left;
    background-color: #f8f8f8;
    border-width: 1px 1px 2px;
    border-style: solid;
    border-color: #F0F0F0 #F0F0F0 #CCC;
    -moz-border-top-colors: none;
    -moz-border-right-colors: none;
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    border-image: none;
    border-radius: 5px;
}
  • Вопрос задан
  • 2532 просмотра
Пригласить эксперта
Ответы на вопрос 3
Привет,

display:flex

.container {
    width: 876px;  
     margin:0 auto; 
<i>display:flex  </i>    
}

.box {
<i>flex-flow: column nowrap;</i>
    width: 250px;	
    margin: 20px;
    text-align: center;
    float:left;
    background-color: #f8f8f8;
    border-width: 1px 1px 2px;
    border-style: solid;
    border-color: #F0F0F0 #F0F0F0 #CCC;
    -moz-border-top-colors: none;
    -moz-border-right-colors: none;
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    border-image: none;
    border-radius: 5px;
}
Ответ написан
@desuvin
Попробуйте на контейнер повесить display: table
на колонки display: table-cell, position: relative, а фиксированную надпись снизу сделать через position absolute bottom 0
Ответ написан
Комментировать
@pleymo455 Автор вопроса
display:table не прижился у меня никак, пришлоcь делать через display: flex, позаимствовал из совета выше position: relative, absolute, вот что получилось:

<div class="container">
    
    
    <div class="box">
        <img style="width: 250px; height: 140px;" src="#"> 
   <p class="box-content">"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
 <p class="registration"><a href="#"><b>Регистрация</b></a></p>
    </div>
            
            <div class="box">
        <img style="width: 250px; height: 140px;" src="#"> 
   <p class="box-content">"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
<p class="registration"><a href="#"><b>Регистрация</b></a></p>
    </div>
                
                <div class="box">
        <img style="width: 250px; height: 140px;" src="#"> 
    <p class="box-content">"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."</p>
    <p class="registration"><a href="#"><b>Регистрация</b></a></p>
    </div>
            
            
</div>


.container {
    width: 876px;  
     margin:0 auto; 
display: flex;   
}

.box {
    position: relative;
flex-flow: column nowrap;
    width: 250px;	
    margin: 20px;
    text-align: center;
    float:left;
    background-color: #f8f8f8;
    border-width: 1px 1px 2px;
    border-style: solid;
    border-color: #F0F0F0 #F0F0F0 #CCC;
    -moz-border-top-colors: none;
    -moz-border-right-colors: none;
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    border-image: none;
    border-radius: 5px;
}

.registration {
  position: absolute; 
  bottom: 0px; 
  left: 80px;  
}

.box-content {
margin-bottom: 50px;    
}


Все получилось, конечно в IE остается все по-прежнему, но это лучшем чем ничего, спасибо большое всем отписавшимся, буду пробовать решать проблему с IE
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы