Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2013, 13:31
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Как выровнять блоки на всю ширину
хочу сделать так

<nav>
    <a>1</a>
    <a>2</a>
    <a>3</a>
</nav>

<style type="text/css">
    nav{
        display: table-row;
    }
    a{
        display: table-cell;
    }
</style>


чтобы было так

Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2013, 13:32
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

почему все так не логично, я хочу одно, делаю все ЛОГИЧНОЕ для этого а получаю не ожидаемое....

хочу чтобы <a> вели себя внутри <nav> как <td> ведут себя внутри <tr> , то есть делили всю ширину nav между собой

все ДОЛЖНО работать, но не работает.

Последний раз редактировалось megaupload, 13.03.2013 в 13:51.
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2013, 14:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Все логично. Твоя хрень ведет себя также как и таблица:
<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>
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2013, 17:27
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

забыл уточнить про 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
Ответить с цитированием
  #5 (permalink)  
Старый 13.03.2013, 17:29
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

короче как я понял это общеизвестная прблема и решена она с помощью "грид"
Ответить с цитированием
  #6 (permalink)  
Старый 13.03.2013, 17:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от megaupload
короче как я понял это общеизвестная прблема и решена она с помощью "грид"
В новые фишки пока не вникал, но вроде да, проблему вроде решили. Меня самого бесят недостатки старых версий css, ибо я сам верстальщик.
Незнаю насколько это будет корректно работать, но можно для 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, 13.03.2013 в 17:58.
Ответить с цитированием
  #7 (permalink)  
Старый 13.03.2013, 18:54
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

danik.js,
вау, спасибо огромное, почему то даже не додумался... предполагал что надо в row ячейки класть
Ответить с цитированием
  #8 (permalink)  
Старый 13.03.2013, 19:03
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

а как сделать их равными независимо от контента (при неизвестном количестве)?

<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>
Ответить с цитированием
  #9 (permalink)  
Старый 13.03.2013, 19:12
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

width: 33%;
Ответить с цитированием
  #10 (permalink)  
Старый 13.03.2013, 19:20
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Опять же незнаю насчет кроссбраузерности, в хроме вроде все поровну:
<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%, хотя фиг знает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как извлечь всю таблицу? 9xakep Серверные языки и технологии 1 21.05.2012 17:00
растянуть на всю ширину malkoff (X)HTML/CSS 0 20.10.2011 18:22
способы организации кода melky Общие вопросы Javascript 17 01.10.2011 22:57
меню как на mail.ru - его можно скрыть и содержимое раздвинется на всю страницу ange-linka Элементы интерфейса 4 16.09.2010 12:12
Как получить ширину таблицы в пикселях, если в HTML она указана в процентах JackM Общие вопросы Javascript 2 13.02.2009 10:15