Ширина ячейки html: Как установить ширину таблицы через стили?

html — Как задать ширину ячеек таблицы под контент

Подскажите пожалуйста как сделать через инлайновые свойства (письмо верстаю) чтобы ширина каждой ячейки была автоматически подогнана под контент? Проблема в том, что у меня ширина ячейки зависит от ширины самого большого контента в столбце таблицы.

А мне нужно чтобы не было никаких пробелов между ячейками в строке (при этом не объединяя ячейки). Пример кода на облаке и тут:

<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="content-type">
  </head>
  <body>
    <table border="1,solid,#000000" cellpadding="0" cellspacing="0">
      <thead>
        <tr>
          <td></td>
        </tr>
        <tr>
        </tr>
        <tr>
          <td colspan="3"></td>
        </tr>
      </thead>
      <tbody align="center">
        <tr>
          <td>
            <table border="1, solid, #000000" cellpadding="0" cellspacing="0">
              <tr>
                <td></td>
                <td>
                  <table align="center" border="1, solid, #000000" cellpadding="0" cellspacing="0">
                    <tr>
                      <td>Значение</td>
                      <td>@очень_длинная_переменная</td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                    <tr>
                      <td>Значение</td>
                      <td>@переменная</td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                    <tr>
                      <td>@переменная</td>
                      <td>х</td>
                      <td>@переменная</td>
                      <td>@переменная</td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                  </table>
                </td>
                <td></td>
              </tr>
            </table>
          </td>
        </tr>
      </tbody>
      <tfoot>
      </tfoot>
    </table>
  </body>
</html>

Как вариант для каждой строки создавать отдельную таблицу, а не в одной, как у Вас. Либо сверстать на дивайдерах.

Итоговый вариант на таблицах:

    <html>
      <head>
        <meta content="text/html; charset=utf-8" http-equiv="content-type">
      </head>
      <body>
        <table border="1,solid,#000000" cellpadding="0" cellspacing="0">
          <thead>
            <tr>
              <td></td>
            </tr>
            <tr>
            </tr>
            <tr>
              <td colspan="3"></td>
            </tr>
          </thead>
          <tbody align="center">
            <tr>
              <td>
                <table cellpadding="0" cellspacing="0">
                  <tr>
                    <td></td>
                    <td>
                      <table align="center" border="1" cellpadding="0" cellspacing="0">
                        <tr>
                          <td>
                            <table border="1">
                              <tr>
                                <td>Значение:                              
                                </td>                          
                                <td>@очень_длинная_переменная                              
                                </td>
                              </tr>
                            </table>
                          </td>
                        <tr>
                          <td></td>
                        </tr>
                        <tr>
                          <td>
                            <table border="1">
                              <tr>
                                <td>Значение:                              
                                </td>                         
                                <td>@длинная_переменная                              
                                </td>
                              </tr>
                            </table>
                          </td>                    
                        <tr>
                          <td></td>
                        </tr>
                        <tr>
                          <td>
                            <table border="1">
                              <tr align="left">
                                <td>@переменная                           
                                </td>                         
                                <td>x                             
                                </td>                          
                                <td>@переменная                             
                                </td>                          
                                <td>@переменная                             
                                </td>
                              </tr>
                            </table>
                          </td>   
                        <tr>
                          <td></td>
                        </tr>
                      </table>
                    </td>
                    <td></td>
                  </tr>
                </table>
              </td>
            </tr>
          </tbody>
          <tfoot>
          </tfoot>
        </table>
      </body>
    </html>

8

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

html — Колонки таблицы равной ширины

Задать вопрос

Вопрос задан

Изменён 1 месяц назад

Просмотрен 2k раз

Я создаю таблицу и выставляю в процентах ширину каждого столбца.

Для примера, второй столбец должен иметь ширину в 30%, четвертый — 10% .Это работает во многих случаях, но, если название колонки длинное, ширина всего столбца расширяется до ширина названия колонки. Каким образом можно избежать такого поведения, создать таблицу с жестко выставленной (в процентах) шириной столбцов?

table {
  width: 100%
}

table>tbody>tr>td {
  width: 20%
}

table>thead>tr>th {
  padding: 10px;
  overflow: hidden;
}

table>tbody>tr>td:nth-of-type(2) {
  width: 30%
}

table>tbody>tr>td:nth-of-type(4) {
  width: 10%
}
<table border=1>
  <thead>
    <tr>
      <th colspan=3>Group 1</th>
      <th colspan=2>Group 2</th>
    </tr>
    <tr>
      <th colspan=1>Group 3</th>
      <th colspan=4>Group 4</th>
    </tr>
    <tr>
      <th>Column 1</th>
      <th>Column 2</th>
      <th>Column 3</th>
      <th>TooLongColumn4Title</th>
      <th>Column 5</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Value 1</td>
      <td>Value 2</td>
      <td>Value 3</td>
      <td>Value 4</td>
      <td>Value 5</td>
    </tr>
    <tr>
      <td>Value 1</td>
      <td>Value 2</td>
      <td>Value 3</td>
      <td>Value 4</td>
      <td>Value 5</td>
    </tr>
    <tr>
      <td>Value 1</td>
      <td>Value 2</td>
      <td>Value 3</td>
      <td>Value 4</td>
      <td>Value 5</td>
    </tr>
    
  </tbody>
  
</table>
  • html
  • css
  • table

1

Задайте таблице word-break: break-all

table {
  width: 100%;
  word-break: break-all;
}
table>tbody>tr>td {
  width: 20%
}

table>thead>tr>th {
  padding: 10px;
  overflow: hidden;
}

table>tbody>tr>td:nth-of-type(2) {
  width: 30%
}

table>tbody>tr>td:nth-of-type(4) {
  width: 10%
}
<table border=1>
  <thead>
    <tr>
      <th colspan=3>Group 1</th>
      <th colspan=2>Group 2</th>
    </tr>
    <tr>
      <th colspan=1>Group 3</th>
      <th colspan=4>Group 4</th>
    </tr>
    <tr>
      <th>Column 1</th>
      <th>Column 2</th>
      <th>Column 3</th>
      <th>TooLongColumn4Titlesfsgfsfgsdfg</th>
      <th>Column 5</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Value 1</td>
      <td>Value 2</td>
      <td>Value 3</td>
      <td>Value 4</td>
      <td>Value 5</td>
    </tr>
    <tr>
      <td>Value 1</td>
      <td>Value 2</td>
      <td>Value 3</td>
      <td>Value 4</td>
      <td>Value 5</td>
    </tr>
    <tr>
      <td>Value 1</td>
      <td>Value 2</td>
      <td>Value 3</td>
      <td>Value 4</td>
      <td>Value 5</td>
    </tr>
    
  </tbody>
  
</table>

4

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

ячеек таблицы — ширина и высота

 

<тд

width=" пикселей или процент "
height=" пикселей или процент ">
. ..

 

 

Устанавливает ширину ячейки таблицы
Устанавливает высоту ячейки таблицы
 

Веб-браузеры автоматически установят размеры строк и столбцов в таблице вашей веб-страницы в соответствии с тем, сколько контента содержится в ячейках вашей таблицы. Поскольку ячейки отображаются в виде сетки, ячейка, содержащая наибольшее количество содержимого, обычно устанавливает ширину и высоту всех соседних с ней ячеек и, следовательно, устанавливает ширину и высоту связанных строк и столбцов в вашей таблице.

Однако вы можете применить атрибуты width и height к тегам , чтобы явно задать размеры ячеек таблицы и, таким образом, контролировать ширину и высоту строк и столбцов.

Эти атрибуты более подробно описаны ниже:

  • width=" пикселей или процентов " ~ Используя атрибут width в тегах , вы можете явно установить ширину ячеек данных таблицы. Это приведет к установке не только ширины этой конкретной ячейки, но также установит ширину всего столбца, в котором находится эта ячейка. Вы можете определить либо фиксированную ширину в пикселях, либо относительную ширину (рекомендуется), которая равна проценту от ширины таблицы.

    ПРИМЕЧАНИЕ. В случае, когда атрибут ширины установлен более чем в одной ячейке в одном столбце, применяется наибольшая ширина. Аналогичным образом, если содержимое любой ячейки таблицы в этом столбце (например, изображение) превышает указанную ширину, ширина содержимого будет определять ширину ячейки и столбца, в котором оно находится.

    Пример 1 ниже отображает таблицу шириной 500 пикселей и двумя столбцами. Ширина первой ячейки данных таблицы устанавливается на 25%, что затем устанавливает ширину всех ячеек в столбце 1 на 25% или 125 пикселей (25% от 500 = 125). Ширина всех ячеек в столбце 2 по умолчанию равна остальной ширине таблицы (75%):

    Пример 1 - ИСХОДНЫЙ КОД


       

       
    < td>Столбец 2
       

    Столбец 1Столбец 2
    Столбец 1
    Столбец 1Столбец 2

    Пример 1 — РЕЗУЛЬТАТ

    Столбец 1 Столбец 2
    Столбец 1 Столбец 2
    Столбец 1 Столбец 2
  • height=" пикселей или процентов " ~ Используя атрибут height в тегах , вы можете явно установить высоту ячеек данных таблицы. Это приведет к установке не только высоты этой конкретной ячейки, но также установит высоту всей строки, в которой находится эта ячейка. Вы можете определить либо фиксированную высоту в пикселях (рекомендуется), либо относительную высоту, равную проценту от высоты таблицы.

    ПРИМЕЧАНИЕ. Если атрибут высота задан более чем в одной ячейке в одной строке, применяется наибольшая высота. Аналогичным образом, если содержимое любой ячейки таблицы в этой строке (например, изображение) превышает указанную высоту, высота содержимого будет определять высоту ячейки и строки, в которой оно находится.

    Пример 2 отображает таблицу, которая имеет ширину 500 пикселей и состоит из двух строк. Высота первой ячейки таблицы в строке 1 устанавливается на 100 пикселей, что затем устанавливает высоту всех ячеек в строке 1 на 100 пикселей. Высота строки 2 не зависит от высоты в строке 1.

    Пример 2 - ИСХОДНЫЙ КОД


    < tr>

    Строка 1Строка 1Строка 1
    Строка 2Строка 2Строка 2

    Пример 2 — РЕЗУЛЬТАТ

    Ряд 1 Ряд 1 Ряд 1
    Ряд 2 Ряд 2 Ряд 2

Ну вот и все для столов. В следующем разделе Iron Spider будут рассмотрены все тонкости , как составлять списки...

Best Free Stuff
для веб-мастеров

Бесплатные текстовые редакторы
Бесплатные графические редакторы
Инструменты анализа веб-сайтов
Бесплатные шаблоны веб-сайтов

См. также:

Лучший бесплатный веб-хостинг

 

Если вам нужна .COM веб-адрес, вы можете быстро и легко получить его по адресу...

<~BACK ВЕРХ СЛЕДУЮЩИЙ ~>

html — фиксированная ширина ячейки таблицы

Задавать вопрос

спросил

Изменено 1 год, 7 месяцев назад

Просмотрено 701 тысяч раз

Многие люди до сих пор используют таблицы для размещения элементов управления, данных и т. д. Одним из примеров этого является популярный jqGrid. Тем не менее, происходит какое-то волшебство, которое я, кажется, не могу понять (это таблицы для крика вслух, сколько волшебства может быть?)

Как можно установить ширину столбца таблицы и заставить ее подчиняться, как это делает jqGrid! ? Если я попытаюсь воспроизвести это, даже если я установлю каждые , как только содержимое одной из этих ячеек превышает 20 пикселей, ячейка расширяется!

Любые идеи или идеи?

  • html
  • css
  • макет
  • html-таблица

0

Вы можете попробовать использовать стиль таблицы управления тегом для всех строк, но вам потребуется установить стиль table-layout:fixed для

или класс таблиц css и установите стиль переполнения для ячеек

http://www.w3schools.com/TAGS/tag_col.asp

 
<столбец /> <столбец /> <столбец />

и это будет ваш CSS

 table. fixed { table-layout:fixed; }
table.fixed td { переполнение: скрыто; }
 

7

Теперь в HTML5/CSS3 у нас есть лучшее решение проблемы. На мой взгляд, рекомендуется это чисто CSS-решение:

 table.fixed {table-layout:fixed; width:90px;}/*Установка ширины таблицы важна!*/
table.fixed td {overflow:hidden;}/*Скрыть текст за пределами ячейки.*/
table.fixed td:nth-of-type(1) {width:20px;}/*Установка ширины столбца 1.*/
table.fixed td:nth-of-type(2) {width:30px;}/*Установка ширины столбца 2.*/
table.fixed td:nth-of-type(3) {width:40px;}/*Установка ширины столбца 3.*/ 
 <таблица>
    
текст текст текст
Очень-очень длинный текст На самом деле этот текст намного длиннее Мы тоже должны использовать пробелыооооооооооооооооооооооооооооо

Вам нужно установить ширину таблицы даже в решении Haunter. В противном случае это не работает.
Также vsync предлагает новую функцию CSS3: word-break:break-all; . Это также разобьет слова без пробелов на несколько строк. Просто измените код следующим образом:

 table.fixed { table-layout:fixed; ширина: 90 пикселей; Word-break:break-all;}
 

Окончательный результат

3

 стол тд
{
  макет таблицы: фиксированный;
  ширина: 20 пикселей;
  переполнение: скрыто;
  перенос слов:разрывное слово;
}
 

2

У меня была одна длинная ячейка td таблицы, это вынуждало таблицу к краям браузера и выглядело некрасиво. Я просто хотел, чтобы этот столбец имел только фиксированный размер и разбивал слова, когда он достигал указанной ширины. Так что это сработало для меня:

 
Текст для разрыва здесь

Вам не нужно указывать какой-либо стиль для элементов table, tr. Вы также можете использовать overflow:hidden; как было предложено другими ответами, но это приводит к исчезновению лишнего текста.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *