2013-04-23 5 views
2

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

Посетите эту страницу: http://test.ufeed.se/

Изменить размер браузера под 820px и вы увидите адаптивный дизайн. Проблема здесь в том, что я получаю странное пространство между данными и заголовком? Я пытался найти, почему есть пространство, но без везения?

Это простая разметка части:

<div class="rightPostCell"> 
     <div class="titleCon"> 
      <div class="linkIcoCon"> 
       ... 
      </div> 
      <div class="floatLeft"> 
       ... 
      </div> 
     </div> 
     <div class="data dimText"> 
      <div class="commentsCon"> 
       ... 
      </div> 
      <div style="clear:both;"></div> 
      <div class="createdDateCon"> 
       ... 
      </div> 
      <div style="clear:both;"></div> 
      <div class="baseLinkCon"> 
       ... 
      </div> 
     </div> 
    <div style="clear:both;"></div> 
    </div> 

Почему пространство между заголовком и данными? И как его удалить?

ответ

0

Изменения необходимо внести в свой mobile.css файл

.postContainer .titleCon{ 
    overflow:hidden; /* ADD this property */ 
} 

.postContainer .data{ 
    overflow:hidden; /* ADD this property */ 
    clear:both; /* REMOVE this property */ 
} 
+0

Но мне нужно название, чтобы иметь возможность расти и показывать контент? – Banshee

+0

'overflow: hidden' позволяет элементам с поплавками внутри них расширяться, чтобы содержать их плавающих детей .. так что вам нужно *, чтобы положить его так, чтобы контейнер имел вычисляемый размер. (* другими словами, если вы не укажете фиксированную высоту, он ничего не скроет *) –

+0

@SnowJim, вот как вы делаете элемент расширяющимся, чтобы соответствовать его содержимому при использовании поплавков. вы также можете использовать 'overflow: auto'. –

2

Похоже, это float вопрос (я считаю, проблемы, как правило, возникают каждый раз, когда я использую float, вообще-то я предпочитаю display: inline-block, потому что он вводит меньше странных ошибок, как это) - если отключить clear: both на данных, он попадает в место правильно.

+2

+1 для предпочитающих 'дисплей: инлайн-block'! –

+0

Спасибо, я попытался удалить оба div с ясными: как внутри div class = "data .. element, но это не исправить проблему? Exacly what clear: left удалить, чтобы устранить проблему? – Banshee

+0

Не относится к этому вопрос, но 'display: inline-block' имеет свои проблемы в старых браузерах. – Hoshts

0

линия 37 вашего PostList.css добавить overflow:auto

в mobile.css линии 80 изменение поплавок: нет в clear:both

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

+0

rightPostCell получил переполнение: auto в PostList.css и postContainer понятен: оба вместо float: none. Это создает переменный странный макет с большим количеством полос прокрутки. – Banshee

0

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

<div class="postContainer"> 
     <div class="leftPostCell">data</div> 
     <div class="rightPostCell">data</div> 
     <div style="clear:both;"></div> 
    </div> 

.postContainer .rightPostCell {margin-left: 123px;overflow: hidden;} 
0

Существует множество решений. Вот один:

mobile.css линия 80

.postContainer { 
    width: 100%; 
    padding: 3px; 
    float: left; 
} 

PostList.css линия 37

.postContainer .rightPostCell { 
    float: left; 
} 
Смежные вопросы