Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Параметр position (https://javascript.ru/forum/xhtml-html-css/10334-parametr-position.html)

vah-smile 29.06.2010 08:46

Параметр position
 
Как сделать некий элемент видимым постоянно на экране?... Следующий код прекрасно работает под FF, но IE 8 (насчет других версий не знаю) этот код отображает с начала страницы и элемент уежджает вместе с прокруткой страницы! Но почему?...
<div style="position: fixed; right: 0px; top: 25px;">
<h1 style="color: #FF6600;">TEXT</h1>
</div>

Skipp 29.06.2010 09:41

vah-smile,
потому что position: fixed. Поэтому и держиться. Но вообще лучше всего использовать js для этой задачи.

vah-smile 29.06.2010 09:59

Цитата:

Сообщение от Skipp (Сообщение 61572)
vah-smile,
потому что position: fixed. Поэтому и держиться. Но вообще лучше всего использовать js для этой задачи.

Цитата:

Сообщение от http://www.htmlbook.ru/css/position.html
fixed:
По своему действию это значение близко к absolute, но в отличие от него привязывается к указанной свойствами left, top, right и bottom точке на экране и не меняет своего положения при прокрутке веб-страницы. Браузер Firefox вообще не отображает полосы прокрутки, если положение элемента задано фиксированным, и оно не помещается целиком в окно браузера. В браузере Opera хотя и показываются полосы прокрутки, но они никак не влияют на позицию элемента.

да... но на указаном сайта так и говорится то, что я хочу сделать! Но почему не работает?... Насчет JS - да, можно сделать, но помоему строка <div style="position: fixed; right: 0px; top: 25px;"> более компактна и проще в написании!

Skipp 29.06.2010 10:01

vah-smile,
так в чём же проблема?

vah-smile 29.06.2010 19:10

Вложений: 1
Цитата:

Сообщение от Skipp (Сообщение 61581)
vah-smile,
так в чём же проблема?

Проблема в том, что у меня в FF моя форма закреплена с полосой спрокрутки, а в IE - форма не выравнивается так как положено, и при скролинге - уплывает (смотри во вложеном файле)!

<div style="position: fixed; top: 30; right: 0;">
	<table>
		<tr style="vertical-align:top;">
			<td>
				<div style="width: 25px; height: 150px; font-weight:bold; position:relative; left:3px; background-color:#F96; text-align:center;" >T<br>e<br>l<br>e<br>P<br>a<br>y</div>
			</td>
		</tr>
	</table>
</div>



PeaceCoder 29.06.2010 19:29

Если элемент у вас уплывает, значит у вас не ИЕ8. fixed не понимает только IE6 и ниже.
Цитата:

<div style="position: fixed; top: 30; right: 0;">
если у вас есть DOCTYPE то писать надо так (а лучше всегда соблюдать стандарт):
<div style="position: fixed; top: 30px; right: 0;">

vah-smile 29.06.2010 21:21

Вложений: 1
Цитата:

Если элемент у вас уплывает, значит у вас не ИЕ8. fixed не понимает только IE6 и ниже.

Нет.... ето либо я дурак, либо проблема в чем-то другом! Вот код моей HTML страницы - проблема с IE остается:

<html>
<head>
  <title></title>
</head>

<body>

<div style="position: fixed; top: 0px; Right: 0px;">
    <div style="width: 200px; height: 200px; background-color: #6699CC;"></div>
</div>

<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br>

</body>
</html>

PeaceCoder 29.06.2010 21:30

Предполагал это. У вас может быть сборка IE8 на ИЕ6 (фичи ИЕ8, а движок по прежнему ИЕ6), у меня был раньше такой браузер пока не поставил оффициальный IE8

vah-smile 29.06.2010 22:56

УРА!.... Розобрался! :dance:
Код был правильный! Единственное, перед тегом <html> нужно было прописать следующее:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
......................
</HTML>

PeaceCoder 29.06.2010 23:18

и точно. а я забыл что ие капризный без doctype вообще по ходу не воспринимает стили =) точнее воспринимает но неправильно.


Часовой пояс GMT +3, время: 02:46.