Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > ширина браузера


Автор: yngwie19 3.11.2009, 17:49
Здравствуйте, у меня создается таблица, которая состоит из 11 столбцов. Мне нужно чтобы каждый столбец был определенной ширины. Подскажите как лучше это сделать? Причем нужно чтобы учитывалась ширина рабочей области окна браузера.
Я хотел сделать так:
- Узнать ширину рабочей области браузера.
- С помощью заранее подготовленных коэффициентов (их 11) умножать их на ширину.
Подскажите правильно ли Я думаю?

Автор: Ипатьев 3.11.2009, 17:53
Нет.
С первым пунктом программы выйдет незадача.

Автор: Simpliest 3.11.2009, 17:56
yngwie19, в теории можно указать ширину ячейки в %тах.

Автор: bars80080 3.11.2009, 17:57
вопрос совершенно не касается php. параметры клента (браузера) можно подсчитать только на клиентской стороне, то есть с помощью javascript.
плюс можно изначально задать необходимые соотношения с помощью стилей css

Автор: NLspieler 3.11.2009, 19:23
Могу предложить такой вариант:

1. Если нет информации о размере экрана пользователя,
послать ему джаваскрипт, который определит размер экрана, и отредиректит пользователя по ссылке:
script.php?y=1024&x=768

2. Сохранить полученные переменный в массиве $_SESSION 

3. Использовать в дальнейшем эти данные

Но, так как javascript включен не у всех, то лучше все таки решать эту задачу на уровне верстки.

Автор: Ипатьев 3.11.2009, 19:26
4. пользователь меняет размер окна браузера smile

Автор: yngwie19 3.11.2009, 19:38
bars80080, 
Цитата(bars80080 @  3.11.2009,  17:57 Найти цитируемый пост)
можно изначально задать необходимые соотношения с помощью стилей css 

подскажите пожалуйста как это реализовать?

Автор: NLspieler 3.11.2009, 19:43
6. Пользователю отправляется javascript, который проверяет через определенный промежуток времени,
не изменился ли размер браузера. Если это произошло, то пользователь снова отредирективается по гет-ссылке.

А вообще, конечно же лучше все решить версткой. Так и удобнее и красивее и никуда никого посылать не надо.

Добавлено через 6 минут и 18 секунд
Цитата(yngwie19 @  3.11.2009,  19:38 Найти цитируемый пост)
подскажите пожалуйста как это реализовать?



Вот простой пример, надеюсь, что разберешься.
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Документ без названия</title>
<style type="text/css">

.stolbez_1 
{
    width: 10%;
}
.stolbez_2 
{
    width: 70%;
}
.stolbez_3 
{
    width: 20%;
}
</style>
</head>

<body>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td class="stolbez_1">&nbsp;</td>
    <td class="stolbez_2">&nbsp;</td>
    <td class="stolbez_3">&nbsp;</td> 
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</body>
</html>


Автор: yngwie19 3.11.2009, 20:20
NLspieler, а как мне зафиксировать ширину ячеек, чтобы они не изменялись, ведь если в какой-нибудь нижней строке будет текст большой длины, то ячейка может немного раздвинуться.

Автор: bars80080 4.11.2009, 00:44
если ширина самого длинного слова не превзойдёт ширину ячейки, то никуда не раздвинутся

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

Код

td { overflow: hidden; }

Автор: MoLeX 4.11.2009, 17:51

M
MoLeX
Модератор: закрыто по причине - тема не относиться к РНР

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)