Как выровнять блоки на всю ширину
хочу сделать так
<nav> <a>1</a> <a>2</a> <a>3</a> </nav> <style type="text/css"> nav{ display: table-row; } a{ display: table-cell; } </style> чтобы было так ![]() |
почему все так не логично, я хочу одно, делаю все ЛОГИЧНОЕ для этого а получаю не ожидаемое....
хочу чтобы <a> вели себя внутри <nav> как <td> ведут себя внутри <tr> , то есть делили всю ширину nav между собой все ДОЛЖНО работать, но не работает. |
Все логично. Твоя хрень ведет себя также как и таблица:
<nav> <a>1</a> <a>2</a> <a>3</a> </nav> <table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> </table> <style type="text/css"> nav{ display: table-row; } a{ display: table-cell; border: 2px solid green; } table{ border-spacing: 0; } td{ border: 2px solid green; } </style> |
забыл уточнить про width: 100%
<nav> <a>1</a> <a>2</a> <a>3</a> </nav> <table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> </table> <style type="text/css"> nav{ display: table-row; width: 100%; } a{ display: table-cell; border: 2px solid green; } table{ border-spacing: 0; width: 100%; } td{ border: 2px solid green; } </style> при том я не хочу портить семантику добавляя что то вроде контейнера ДЛЯ СТРОКИ который имел бы дисплей table |
короче как я понял это общеизвестная прблема и решена она с помощью "грид"
|
Цитата:
Незнаю насколько это будет корректно работать, но можно для nav задать display: table и вроде работает (в хроме по крайней мере и на небольшом числе элементов) <nav> <a>1</a> <a>2</a> <a>3</a> </nav> <table> <tr> <td>1</td> <td>2</td> <td>3</td> </tr> </table> <style type="text/css"> nav{ display: table; width: 100%; } a{ display: table-cell; border: 2px solid green; } table{ border-spacing: 0; width: 100%; } td{ border: 2px solid green; } </style> |
danik.js,
вау, спасибо огромное, почему то даже не додумался... предполагал что надо в row ячейки класть |
а как сделать их равными независимо от контента (при неизвестном количестве)?
<nav> <a>Суши</a> <a>Роллы</a> <a>Ассорти</a> </nav> <table> <tr> <td>Суши</td> <td>Роллы</td> <td>Ассорти</td> </tr> </table> <style type="text/css"> nav{ display: table; width: 100%; } a{ display: table-cell; border: 2px solid green; } table{ border-spacing: 0; width: 100%; } td{ border: 2px solid green; } </style> |
width: 33%;
|
Опять же незнаю насчет кроссбраузерности, в хроме вроде все поровну:
<nav> <a>Суши</a> <a>Роллы</a> <a>Ассорти</a> </nav> <table> <tr> <td>Суши</td> <td>Роллы</td> <td>Ассорти</td> </tr> </table> <style type="text/css"> nav{ display: table; width: 100%; table-layout: fixed; } a{ display: table-cell; border: 2px solid green; } table{ border-spacing: 0; width: 100%; } td{ border: 2px solid green; } </style> В случае чего можно еще попробовать добавить для ячейки width: 0 или наоборот, большое какое-нибудь число, или даже 100%, хотя фиг знает. |
danik.js,
слушай, да ты верстальщик от бога.... спасибо |
бога нет
|
то что его придумали не является доказательством его отсутствия тимми)
а кстати ты верстать умеешь норм? спросить кое чо хотел по семантке |
попробуй. мб вспомню чё
|
корчое я хочу на срать в семантику и сделать такое
хочу сделать что то вроде табов при чом чтобы писались они так <div class="content"> <div> <article class="tab1"></article> <article class="tab2"></article> <article class="tab3"></article> </div> <nav> <a href="tab1">1</a> <a href="tab2">2</a> <a href="tab3">3</a> </nav> </div> а рисовались так ![]() чтобы внизу это типа нав а вверху эти типа содержимое меню |
табы? не не слышали
p.s.: не понял в чём проблема |
Цитата:
<nav> <a href="tab1">РОЛЛЫ</a> <a href="tab2">СУШИ</a> <a href="tab3">АССОРТИ</a> </nav> как на картинке (число пунктов неизвестно и может меняться) |
а чем таблица неугодила? :)
|
Цитата:
|
Цитата:
и я тупо подумал "для кого придумали CSS displey блять!" и тупо просто заверстал сохранив семантку) спасибо тимми Цитата:
|
Цитата:
|
можно сделать для современных браузеров на flexbox, будет выглядеть так как и задумано, а для ie деградацию запилить с table-cell, будет выглядеть как получится ^^.
|
Tim,
лучше дай адрес своей мамы Gozar, у меня и в ie как задуманно) надо сорс? |
Часовой пояс GMT +3, время: 05:19. |