Jump to content
  • 0

Ячейки таблицы с одинаковыми полями без скриптов


hachik
 Share

Question

Доброго времени суток, уважаемые!

Никак не могу решить такую задачу: нужно сделать "резиновый" ряд "кнопок"

Суммарная ширина ряда - 100% от родителя.

Ширина каждой "кнопки" = ширина текста в ней + ОДИНАКОВЫЕ ВО ВСЕХ КНОПКАХ поля.

при растягиваии "родителя" размер всех кнопок тоже меняется НА ОДИНАКОВУЮ ВЕЛИЧИНУ

хоть дивами, хоть таблицей, но без скриптов желательно

 

вот так должно быть:

pic.jpg

Edited by hachik
Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

а вы сами не можете сделать таблицами?

не могу (

мог бы - не писал бы ))

все уже поперепробовал

 

на первый взгляд кажется, что нет проблемы, а она есть.

как суслик из ДМБ...

Edited by hachik
Link to comment
Share on other sites

  • 0

ну так что у вас уже сделано?

    

с десяток вариантов, ни один из которыхз не дает нужного результата:

 

 

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; padding:10px;'> <div style='position:absolute; width:1px overflow:auto; border:1px solid blue; display:inline; '>которко</div></td>

<td style='border:1px solid red; text-align:center; padding:10px;'> <div style='position:absolute; width:1px overflow:auto; border:1px solid blue; display:inline;'>очень-очень длинный текст</div></td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; padding:10px;'>которко</td>

<td style='border:1px solid red; text-align:center; padding:10px;'>очень-очень длинный текст</td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center;'>которко</td>

<td style='border:1px solid red; text-align:center;'>очень-очень длинный текст</td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px; table-layout:fixed'>

<tr>

<td style='border:1px solid red; text-align:center; padding:10px;'>которко</td>

<td style='border:1px solid red; text-align:center; padding:10px;'>очень-очень длинный текст</td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px; table-layout:fixed'>

<tr>

<td style='border:1px solid red; text-align:center;'>которко</td>

<td style='border:1px solid red; text-align:center;'>очень-очень длинный текст</td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; width:1px;'>которко</td>

<td style='border:1px solid red; text-align:center; width:1px;'>очень-очень длинный текст</td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'>которко</td>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'>очень-очень длинный текст</td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'><div style='width:1px; white-space:nowrap'>которко</div></td>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'><div style='width:1px; white-space:nowrap'>очень-очень длинный текст</div></td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'><div>которко</div></td>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'><div>очень-очень длинный текст</div></td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'><div style='position:relative'>которко</div></td>

<td style='border:1px solid red; text-align:center; width:1px; padding:auto;'><div style='position:relative'>очень-очень длинный текст</div></td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center;'>

<table style='border:1px solid lime; width:100%; '>

<tr>

<td> </td>

<td>которко</td>

<td> </td>

</tr>

</table>

</td>

<td style='border:1px solid red; text-align:center;'>

<table style='border:1px solid lime; width:100%;'>

<tr>

<td> </td>

<td style='white-space:nowrap; width:1px;'>очень-очень длинный текст</td>

<td> </td>

</tr>

</table>

</td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center; padding:10px;'><div style='white-space:nowrap; margin:0 auto;'>которко</div></td>

<td style='border:1px solid red; text-align:center; padding:10px;'><div style='white-space:nowrap; margin:0 auto;'>очень-очень длинный текст</div></td>

</tr>

</table>

<br /><br />

<table style='border:1px solid green; width:700px;'>

<tr>

<td style='border:1px solid red; text-align:center;'><div style='border:1px solid blue; position:absolute;'>1</div><div style='white-space:nowrap; width:1px;'>которко</div><div style='border:1px solid blue;'>1</div></td>

<td style='border:1px solid red; text-align:center;'><div style='border:1px solid blue; position:absolute;'>2</div><div style='white-space:nowrap; width:1px;'>очень-очень длинный текст</div><div style='border:1px solid blue;'>2</div></td>

</tr>

</table>

Edited by hachik
Link to comment
Share on other sites

  • 0

1. Было бы не плохо запихнуть это в песочницу

2. чем вам не устроил такой вариант http://jsfiddle.net/umy9eo7g/ ?

 

3. Мой вариант http://jsfiddle.net/vrn0y1kr/1/

Edited by Switch74
Link to comment
Share on other sites

  • 0

1. Было бы не плохо запихнуть это в песочницу

2. чем вам не устроил такой вариант http://jsfiddle.net/umy9eo7g/ ?

 

3. Мой вариант http://jsfiddle.net/vrn0y1kr/1/

2) поля разные, в чем собсна, и состоял вопрос

3) это те же, яйца таблицы, только в профиль div-ами ))

 

 

нет )

у "long item"  поля больше, а нужно, чтобы везде одинаково было

 

 

может, я непонятно изгалаю, в чем проблема?

<table width="100%">

  <tr>

    <td>мало</td>

    <td>много-много-много-текста</td>

  </tr>

</table>

при такой верстке ПОЛЯ ЯЧЕЕК ПОЛУЧАЮТСЯ РАЗНЫМИ, пропорционально кол-ву текста в ячейке, а нужно именно ПОЛЯ (padding) ОДИНАКОВОЙ ШИРИНЫ

Edited by hachik
Link to comment
Share on other sites

  • 0

 

думаете?

http://jsfiddle.net/xogq0q2o/5/

 

 

:) в кратце:

1. поля в % - зависят от размера кнопки, т.е. чем больше размер текста тем больше этот процент, как следствие у кнопок с большим текстом больше отступы.

2. отступ в px - вам придется рассчитывать эту цифру учитывая большое количество факторов, что может привести к дробным числам, а они обрабатываются разными браузерами по разному, так же шрифты могут по разному обрабатываться ими.

 

вас не устроют ни динамические ни статические единицы измерения

Edited by Switch74
Link to comment
Share on other sites

  • 0

:) в кратце:

1. поля в % - зависят от размера кнопки, т.е. чем больше размер текста тем больше этот процент, как следствие у кнопок с большим текстом больше отступы.

2. отступ в px - вам придется рассчитывать эту цифру учитывая большое количество факторов, что может привести к дробным числам, а они обрабатываются разными браузерами по разному, так же шрифты могут по разному обрабатываться ими.

 

вас не устроют ни динамические ни статические единицы измерения

 

ну т.е. все, не будет мне щастья?

Link to comment
Share on other sites

  • 0

Без скриптов с расчетом отступов в px мне кажется нет

по сути у вас формула (ширина_контейнера - (ширина_кнопки_1+ширина_кнопки_2))/4

 

больше кнопок больше делитель и в CSS я даже не представляю как это все через calc сделать

Edited by Switch74
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

×
×
  • 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