Jump to content
  • 0

таблица, фиксированная ширина колонки


Legi
 Share

Question

Товарищи.. просьба не пинать сильно, но реально решения пока не нашёл, хотя поиск и различные манулы перелистал...

в кратце ситуация...

есть таблица. в ней две строчки... вторая строчка слипляется в одну колонку (<td colspan = "2">)

в первую колонку (первой строки) попадет информация, которая является длинной и не разделимой.

как сделать так, чтобы появился скрол горизонатльный и тем самым колонка эта была фиксированной "толщины"... подобный эффект полается с обычным текстом если поставить свойство запрета переноса текста.

(с высотой всё нормально... а вот с шириной не получается..)

вот кусок кода:

<table width = "100%" height = "100%">
<tr>
<td width = "60%" height="70%">
<div id="REGION_1" style="height:100%;width:100%;overflow:auto;"></div>
</td>
<td>
<div id="REGION_2" style="height:100%;overflow:auto;"></div>
</td>
</tr>
<tr>
<td colspan = "2">
<div id="REGION_3" style="height:100%;overflow:auto;"></div>
</td>
</tr>
</table>

в какую сторону копать?

буду благодарен за любые подсказки

Edited by Legi
Link to comment
Share on other sites

20 answers to this question

Recommended Posts

  • 0
<div id="REGION_1" style="height:100%;width:200px;overflow:auto;"> я так полагаю здесь нужен скролл?

200px как из вариантов, но если забегать вперёд, то не везде адекватное и одинаковое расшерение может быть :) я пытался сделать через соотношения расшерения (которое получаю через явускрипт и потом делю на 6, чтобы получить 60%), но как-то не совсем у меня получилось в итоге

________

по большому счёту да нужен скрол горизонтальный... но вот если поставить overflow:scroll

вместо overflow:auto

то эффекта никакого... ну сам скрол появится но появится такой что он есть и не получится фиксированной ширины. он опять расятгивается

Edited by Legi
Link to comment
Share on other sites

  • 0
200px как из вариантов, но если забегать вперёд, то не везде адекватное и одинаковое расшерение может быть :) я пытался сделать через соотношения расшерения (которое получаю через явускрипт и потом делю на 6, чтобы получить 60%), но как-то не совсем у меня получилось в итоге

________

по большому счёту да нужен скрол горизонтальный... но вот если поставить overflow:scroll

вместо overflow:auto

то эффекта никакого... ну сам скрол появится но появится такой что он есть и не получится фиксированной ширины. он опять расятгивается

Во - первых не overflow:scroll, а overflow-x:scroll или overflow-y:scroll таким образом насильственно задавая скроллирование по горизонтали, либо вертикали, но к сожалению кроме ИЕ этот метод никто из остальных браузеров не понимант.

Link to comment
Share on other sites

  • 0

эхх... не помогает... даже если ему указать жёско вставлять скролл, то результат тот же :)

немного переформулирую вопрос:

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

а вот если указать ему в пикселях то всё великолепно, но пиксели это плохо :)

могу выложить картинку того что есть...

Link to comment
Share on other sites

  • 0

Может так

раз ширина столбца в %

<td width = "60%" height="70%">

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

<div id="REGION_1" style="height:100%;overflow:auto;"></div>

Edited by 3ABAPKA
Link to comment
Share on other sites

  • 0

2ЗАВАРКА

не помогает :)

2rus

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

может стоит как-нить получить ширину экрана (разрешение) в пикселях, и полученное значение умножить на 0.6 (60%) тем самым получу результат в пикселях, при которых всё замечательно работает (только я указывал жёско в пикселях, допустим 550px, но получить разрешение и передать не получается:) )

прилепляю файлы:

первый то что есть и не получается с процентами:

ab1908408465a601de8fcb7e687fb3c1.jpg

а вот второй вариант, который хочу получить, вот тут получается если я ему жёско указываю размеры в пикселях:

dee833e530967ebd89d6b18604068c0b.jpg

Link to comment
Share on other sites

  • 0
2s0rr0w не совсем понял вопроса :unsure:

у меня таблица должна быть фиксирована на весь экран а все её ячейки могут быть скролированы при необходимости...

Зачем такое ограничение?

Link to comment
Share on other sites

  • 0

не надо явы, все проще:

<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">

html, body {
height: 100%;
width:100%;
margin: 0;
}

td {
border: 1px solid black;
}

</style>
</head>
<body>

<table width = "100%" height = "100%">
<tr>
<td width = "60%" height="70%">
<div style="height:100%;width:100%;position:relative;">
<div id="REGION_1" style="height:100%;overflow:auto;width:100%;white-space:nowrap;position:absolute;">
много текста много текста много текста много текста много текста много текста много текста много текста много текста много текста
много текста много текста много текста много текста много текста много текста много текста много текста много текста много текста
много текста много текста много текста много текста много текста много текста много текста много текста много текста много текста
много текста много текста много текста много текста много текста много текста много текста много текста много текста много текста </div>
</div>
</td>
<td>
<div id="REGION_2" style="height:100%;overflow:auto;"></div>
</td>
</tr>
<tr>
<td colspan = "2">
<div id="REGION_3" style="height:100%;overflow:auto;"></div>
</td>
</tr>
</table>


</body>
</html>

Edited by Searcher
Link to comment
Share on other sites

  • 0

спасибо за совет, но ява мне нужна немного для другова...

просто у меня ограничена возможность крутить хтмл-код :unsure:

сейчас попробую всё это... хотя с хтмл я можно скачать чайниг чайником :)

Link to comment
Share on other sites

  • 0

Да я многовато кода дал, столько Вам пока не нужно. Все изменения только тут:

<table width = "100%" height = "100%">
<tr>
<td width = "60%" height="70%">
<div style="height:100%;width:100%;position:relative;">
<div id="REGION_1" style="height:100%;overflow:auto;width:100%;white-space:nowrap;position:absolute;">
много текста много текста много текста много текста много текста много текста много текста много текста много текста
много текста много текста много текста много текста много текста много текста много текста много текста много текста
много текста много текста много текста много текста много текста много текста много текста много текста много текста
много текста много текста много текста много текста много текста много текста много текста много текста много текста </div>
</div>
</td>
<td>
<div id="REGION_2" style="height:100%;overflow:auto;"></div>
</td>
</tr>
<tr>
<td colspan = "2">
<div id="REGION_3" style="height:100%;overflow:auto;"></div>
</td>
</tr>
</table>

просто нужно обернуть ваш див в еще один с position:relative, а вашему диву задать position:absolute; ну и высоту с шириной, конечно

Edited by Searcher
Link to comment
Share on other sites

  • 0
отлично всё получилось только нужно было мне ещё добавить overflow:auto во внешний див, который добавился.

Эм, не понял... там же во внутреннем диве overflow:auto ... Прокрутка контента во внутреннем блоке, а внешний - просто прокладка.

Link to comment
Share on other sites

  • 0

без overflow:auto во внешнем диве чётко рисовались границы ячеек, а вот содержание так скажем "наехало" на вторую колонку первой строки. а вот если поставить overflow:auto во внешний, то всё замечательно вышло :)

ещё раз спасибо :)

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