Jump to content
  • 0

Переход с табличной вёрстки на вёрстку слоями


mymedia
 Share

Question

Добрый день, друзья!
Я даже не знаю как сформулировать свою проблему. Нужно код ниже сверстать слоями.

<table width="950px"><tr><td><nobr>Очень длинный текст</nobr></td><td><nobr>Ещё один очень длинный текст</nobr></td><td width="100%">Резиновый блок</td></tr></table>

Ни какие размеры блоков заранее неизвестны, кроме ширины макета.
display: table не предлагать. :unsure:
Т.е. что я имею ввиду: есть блоки, которые должны быть размещены по горизонтали, при этом последний из них должен занять всё оставшееся место. Количество блоков неизвестно, но их явно не меньше двух.

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
Ни какие размеры блоков заранее неизвестны, кроме ширины макета.
Т.е. что я имею ввиду: есть блоки, которые должны быть размещены по горизонтали, при этом последний из них должен занять всё оставшееся место. Количество блоков неизвестно, но их явно не меньше двух.

 

Получается, что все блоки резиновые?

Link to comment
Share on other sites

  • 0

Получается, что все блоки резиновые?

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

Текст в левых блоках переносится, только в тех местах, где это явно указано. Аналогично применению стиля white-space: nowrap. А вот текст в правом блоке должен переноситься при достижении правой границы макета.

Почему всем так таблицы то не нравятся?

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

Можете flex попробовать.

А что такое flex?

 

В общем, ещё раз повторюсь, код, который я привёл, меня полностью удовлетворяет. Просто хотел потренироваться и узнать, как это правильно сверстать слоями

Edited by mymedia
Link to comment
Share on other sites

  • 0

значит оставь как есть -- это лучшее решение данной задачи.

Ладно, подумаю ещё над этим... Ну, или может в самом деле придётся насиловать div'ы, перекраивая их display: table и подобными.

 

Эх, казалось бы я уже нашёл решение проблемы... Ан нет!

<!-- цвета для наглядности --><div class="m" style="background:silver">    <div class="f" style="background:aqua">layer<br>new string<br>second string</div>    <div class="f" style="background:orange">more layer</div>    <div class="r" style="background:yellow">resizing block<br>test!test!test!</div></div>
.m { width: 950px; }.m > .f { float: left; }.m > .r { display: inline-block; }

Самый правый блок в таком случае перерносится вниз, если в нём текст не помещается в пространство между средним блоком и правым краем контейнера. Да, и к тому же жёлтый блок не растягивается до самой правой границы контейнера, если в нём мало текста

Link to comment
Share on other sites

  • 0

Как вариант на js колдовать.

Ну или flexbox опробовать)

А что такое flex?

http://frontender.info/a-guide-to-flexbox/

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

Link to comment
Share on other sites

  • 0

Ну или flexbox опробовать)

http://frontender.in...ide-to-flexbox/

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

Спасибо за ссылку, а то на htmlbook.ru этого нету :). Обязательно попробую.

Edited by mymedia
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By tohastar
      Здравствуйте! Помогите разобраться. Для детского садика требуется создать карту сайта по новым требованиям. Карту создали с помощью генератора, внесли небольшие изменения в код, но теперь хочется упорядочить блоки по модулям на 4 столбика, как добавить новые столики понятно, главное их упорядочить. Т.е. для примера модуль подменю "важная информация" находится с верху и относящиеся к нему страницы вниз и так далее. Но к сожаление не понятно, как это можно реализовать, все добавленные вновь страницы идут последовательно вниз. Пришлось отделять тегами < p>, но вверх поднять их не получается.  http://vasilyek78.ucoz.ru/Dokument/SiteMap.html адрес расположения карты сайта.
    • By Shoker2
      Вот мой код:
      <table class="down_table_main" bgcolor="#F7F7F7">     <tr>         <td><button class="down_button_main">Подробнее</button></td>     </tr> </table> Почему-то когда я использую align, ничего не происходит. А в другом коде align работает.
      <table border="0" bgcolor="white" width="800px">     <tr align="center">         <td>             <br>             <img src="https://ru-minecraft.ru/uploads/posts/2018-03/medium/1522109759_cosmicnpcs.jpg" alt="">             <h3>Мод <b>CosmicNPCs</b> - создайте второго игрока и запишите, что он будет делать.</h3>             <p>Интересный мод который позволит снимать ролики без участия других игроков, вы сможете записать свои движения и действия, а потом воспроизвести с произвольным скином, таким образом для записи каких то прикольных моментов вам не нужен второй игрок.</p>         </td>     </tr> </table>  
    • By Алеся
      Подскажите, пожалуйста, как растянуть фоновую картинку, заключенную в div, на всю ширину вьюпорта? Сейчас она отображается посередине, по ширине макета. Указывала ширину 100%, 1200px, минимальную ширину 1200px - не работает.
      <div class="banner"> 
            <div class="container background-image">
            <div class="banner_text"></div>
            </div>
          </div>
      CSS:
      .background-image {
        background-image: url('/img/new_oranges.jpg');
        background-size: cover;
        height: 200px;
      }
    • By cozy_eternity
      Столкнулся с проблемой показа скрытых элементов. Ставлю div'у display:none и при выборе radio кнопки, div должен отображаться, но этого не происходит, прошу помочь..

       
      <label>Нужны ли распашные дверцы?</label> <p><input type="radio" name="swing" onclick="ShowElement1">Да</p> <p><input type="radio" name="swing">Нет</p> <div id="swing"> <p><label>Введите размер ячеек:</label></p> <p>Высота<input type="number"></p> <p>Ширина<input type="number"></p> <p>Глубина<input type="number"></p> </div> #swing { display: none; } function ShowElement1(){ document.getElementById("swing").style.display='block'; } Разобрался
    • By Tanya2021
      Не могу закруглить углы у background-color. В чем проблема? 



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy