0
О, золотые дни табличных макетов. Разве мы все не вернемся туда и не применим семантику? (Я знаю, знаю, ...)Основание на основе CSS
Но у меня сложный макет сайта, который выполняется за несколько секунд и очень мало строк кода, если я использую таблицу. Я тянул свои волосы за то, чтобы достичь того же самого с divs в течение двух дней. Может, кто-то может помочь.
Это расположение я хочу достичь: http://jsfiddle.net/reltek/13c6yfmh/
Это код с помощью таблиц, красиво и легко:
<table border="1" width="100%">
<tr>
<th rowspan="2" width="30%" valign="top">
<h2>Main Navigation</h2>
<p>Might get really long, sometimes even longer than the Main Content and Footer combined.</p>
<ul>
<li>Nav 1</li>
<li>Nav 2</li>
<li>Nav 3</li>
</ul>
</th>
<td valign="top">
<h1>Main Content</h1>
<p>Flexible, might get really long.</p>
</td>
</tr>
<tr>
<td height="3em">
<h2>Footer</h2>
<p>flexible height, should stay at the bottom of the page.</h2>
</td>
</tr>
</table>
Мой ДИВ на основе HTML можно найти здесь: http://jsfiddle.net/reltek/48rmshen/
Проблема заключается в следующем: нижний колонтитул справа не остается внизу, если левая колонка длиннее правой.
Любая помощь оценена, спасибо всем!
Когда дело доходит до
ответ
В соответствии с дисплеем: таблицу в вашем примере следующие работы. Здесь находится jsfiddle http://jsfiddle.net/r4pg8p25/2/
Вы можете добавить и вычесть ваши пустые абзацы и посмотреть, как они расширяются и сжимаются с помощью левой панели.
Надеется, что это помогает, Тим
источник
2015-03-04 13:35:54 mpactMEDIA
Спасибо Тиму, я возился с ним, и он работает точно так же, как и планировалось. Количество divs для достижения этого эффекта довольно велико. Таким образом, я поселился с гибким нижним колонтитулом, который приводит к менее загроможденной структуре документа. Не идеальное решение по-разному, но я думаю, я просто буду ждать лучшей поддержки flexbox. – george
Не проблема, я бы сделал то же самое. На самом деле я увидел этот ответ @Quentin, прежде чем начал это. Я полагал, что всегда хорошо видеть несколько способов сделать то же самое, и я подумал, что вы бы очень хотели, чтобы это было так, как вы его начали. Имейте большой. – mpactMEDIA
Возможно, вы захотите принять ответ как правильный (в зависимости от заданного вами вопроса). Ты позволил ему немного посидеть. Лучший. – mpactMEDIA
Вы можете использовать
display:table
, но, к сожалению, вы не можете сделать RowSpan так что вам нужно, чтобы получить немного творческим со структурой сНа:Example Fiddle
источник
2015-03-04 11:01:56 Pete
Спасибо, Пит, это именно то, чего я хотел достичь! Я надеялся на более простую структуру документа, которая не просто имитирует структуру таблицы. Но, похоже, это путь. – george
Вы можете использовать гибкую структуру (в зависимости от того, какие браузеры вам нужно поддерживать) в ответе Квентина и просто сделать ее растяжкой до 100% высоты. – Pete
К сожалению, трафик веб-сайта будет довольно IE-тяжелым ... :-(100% высота не понадобится, поскольку рассматриваемая часть - это всего лишь часть всей страницы (добавление заголовка и т. Д.). – george
Этих это задание для flexbox (префикс и обходные пути для старых браузеров, оставленных как упражнение для чтения)
источник
2015-03-04 11:13:23 Quentin
Спасибо за указание к flexbox я предпочитаю чистую структуру документа. Но отвратительная поддержка браузеров (практически без IE) заставляла меня уклоняться от этого варианта. Но, во-вторых, может возникнуть проблема с обходными решениями IE. – george
Доля рынка IE <11 сокращается (спасибо в значительной степени, чтобы улучшить настройки по умолчанию для Центра обновления Windows). Большинство людей, не использующих его, либо находятся в ужасных корпоративных средах, либо застряли в Windows XP (которые даже не получают обновлений безопасности сейчас). Ваша забота о старом IE действительно зависит от того, кем является ваша целевая аудитория. – Quentin
Это поражает гвоздь: это корпоративный/университетский/научный веб-сайт. IE9 и даже IE8 довольно распространены. – george
Смежные вопросы