Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

div, размером со 100 пикселей сверху до низу. проблемы в IE

6.8K
24 мая 2007 года
Artlight
7 / / 05.08.2004
<div style="position:absolute; top:100px; bottom:0px; width:100%">...</div>

должен быть по ширине на всю страницу, а высота - со 100 пикселей сверху, до низу.

Это везде работает, кроме IE!

Как лечится, кто знает?


Спасибо
13
24 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
Не очень понятно что значит "сверху до низу"... 100%-ая высота вас интересует с отступом 100 пикселей сверху?
6.8K
24 мая 2007 года
Artlight
7 / / 05.08.2004
Интересует, чтобы сверху div начинался на расстоянии 100 px, а заканчивался всегда внизу

т.е. как бы height=100%-100px
16K
24 мая 2007 года
rnbparty
33 / / 22.03.2007
Надо,задать блоку маргин топ 100 и сделать высоту 100%, если правильно понял Ваше намерение. вообще это не может работать везде - видимо Вам просто повезло с заполнителем. но это не очень хорошо.
Лучше поставить позишн релатив и значением топ сместить вниз относительно верхнего края предка.
"научиться говорить надо сначала по-русски (с)"
13
25 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
100%-ная высота очень капризная штука и работает не всегда и не везде. Советую вам спросить на форуме или в жж в комьюнити где собираются профессиональные верстальщики. Тут просто большинство программисты ;-)
12
25 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: rnbparty
Надо,задать блоку маргин топ 100 и сделать высоту 100%,


Это вынужденная мера которая не дает точно требуемого результата. Реализовать данную задачу в IE можено только средствами JS.

308
25 мая 2007 года
Комаджу
850 / / 26.07.2006
Кстати, может вам стОит описать проблему комплексно? Может быть вы просто хотите придавить футер к нижнему краю или колонки сделать одной высоты? Для этого есть готовые решения. Т.е. я о том, что конечного результата порой можно добиться, не решая проблему в лоб.
4.6K
01 июня 2007 года
Tokolist
268 / / 22.03.2007
Кроcсбраузерный код без экспрешинов на основе http://cssplay.co.uk/layouts/fixit.html.

Код:
<html>
<head>
<style type="text/css">
body {
  margin: 0;
  border: 0;
  padding: 0;
  height: 100%;
  max-height: 100%;
  background-color: red;
  overflow: hidden;
}

* html body {
  padding: 10px 0 0 0;
}

#content {
  position: fixed; /*исправил ашипку*/
  /*width: 100%;
  width: expression(document.body.clientWidth + "px");
  height: expression((document.body.clientHeight - 10) + "px");*/
  top: 10px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  background-color: white;
}

* html #content {
  height: 100%;
  width: 100%;
}

</style>
</head>

<body>

<div id="content">

content

</div>
</body>
</html>
308
01 июня 2007 года
Комаджу
850 / / 26.07.2006
Цитата:
width: expression(document.body.clientWidth + "px");
height: expression((document.body.clientHeight - 10) + "px");*/


Без экспрешенов?

2.2K
01 июня 2007 года
e1vin
153 / / 04.06.2006
Цитата: Artlight
Интересует, чтобы сверху div начинался на расстоянии 100 px, а заканчивался всегда внизу
т.е. как бы height=100%-100px


Вообще-то CSS такой гибкости не обеспечивает. Не помню точно как, но то, что тебе нужно вполне можно реализовать с помощью отрицательных полей, покопай в эту сторону!

2.2K
01 июня 2007 года
e1vin
153 / / 04.06.2006
Цитата: rnbparty
Надо,задать блоку маргин топ 100 и сделать высоту 100%


Даже в самом лучшем случае мы получим height: 100% + 100px верхнего поля. В блочной модели CSS поля и отступы входят в размеры блока, именно поэтому "width или height: 100% - 100px"; реализовать стандартными средствами, без всяких уловок, ну никак не получится:eek:

12
01 июня 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: e1vin
Не помню точно как, но то, что тебе нужно вполне можно реализовать с помощью отрицательных полей, покопай в эту сторону!


:D а человек то прав! )) Полями да отступами можно вытянуть.

308
01 июня 2007 года
Комаджу
850 / / 26.07.2006
Если можно было бы сделать внешний блок, то подошел бы такой совершенно кроссбраузерный вариантег:

[HTML]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>BlaBlaBla</title>
<style type="text/css">
html,body
{height:100%;
margin:0px;
padding:0px;}
div#out
{width:100%;
height:100%;
background-color:red;}
div#in
{width:100%;
height:auto;
border-top:100px solid white;}
</style>
</head>
<body>
<div id="out">
<div id="in"></div>
</div>
</body>
</html>
[/HTML]

К чему я.. Ах, да!

Несколько месяцев назад прочитал статейку на ALA про активное использование бордюров в качестве цветовых подложек, так понравилось - многие решения были найдены именно этим способом. Может у кого и будет настроение поковырять бордюры - может удастся реализовать задачу и без вложения нескольких блоков друг в друга?
308
01 июня 2007 года
Комаджу
850 / / 26.07.2006
Например такое решение:

[HTML]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>BlaBlaBla</title>
<style type="text/css">
html,body
{height:100%;
margin:0px;
padding:0px;
background-color:red;}
div
{width:100%;
height:auto;
background-color:red;
border-top:100px solid white;}
</style>
</head>
<body>
<div></div>
</body>
</html>
[/HTML]
4.6K
01 июня 2007 года
Tokolist
268 / / 22.03.2007
Цитата: Комаджу
Без экспрешенов?



Ну, Комаджу, ты рассмешил меня, честное слово. :D
Берем статью "CSS для чайников" и читаем об комментариях в ЦСС. тогда внимательно смотрим на этот блок

Код:
#content {
  position: absolute;
  /*width: 100%;
  width: expression(document.body.clientWidth + "px");
  height: expression((document.body.clientHeight - 10) + "px");*/
  top: 10px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: auto;
  background-color: white;
}


...ладно шучу, с кем не бывает. спишем все на глобальное потепление, то бишь жару :D

Эти строки достались по наследству от предыдущего моего решения. Если сильно мозолят глаза, то просто удалите их. :)

Все работает во всех наиболее распространенных браузерах. ИМХО это лучший вариант и без экспрешинов.

Теперь добавь в свои последние варианты кода много контента в див для вертикальной прокрутки - получается очень нехорошо :) в моем коде же все нормально.

И еще там у меня ошибка в коде position: absolute; надо заменить на position: fixed; только сейчас заметил. прошу прощения

[QUOTE=e1vin]Не помню точно как, но то, что тебе нужно вполне можно реализовать с помощью отрицательных полей, покопай в эту сторону![/QUOTE]
Хотелось бы увидеть примерчег )))
2.2K
04 июня 2007 года
e1vin
153 / / 04.06.2006
Примерчег чего? Поставь поконкретнее задачу (т.е., что и как должно быть расположено, height: 100% какому блоку задать и т.п.), постараюсь пораскинуть мозгами в свободное время, уверен, что можно это реализовать.
308
04 июня 2007 года
Комаджу
850 / / 26.07.2006
А мое решение не подходит?
352
05 июня 2007 года
skywalker
694 / / 10.02.2006
Господа, Вас, что то путает совсем :D
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >  
<head>  <title>BlaBlaBla</title>  
<style type="text/css">  
html,body {height:100%;width:100%; margin:0px; padding:0px;}
div#heigh_100 {width:100%; height:100%; background-color:red;position:relative;}
div#top_100_px{position:absolute;top:0;left:0;width:100%;height:100px;background-color:blue;color:white;}
div#content{padding-top:100px;color:white;}
</style>  
</head>
<body>  
    <div id="heigh_100">
        <div id="content">
            100%
        </div>
        <div id="top_100_px">100px</div>
    </div>
</body>
</html>


[size=1]Я на некоторое время пропадал с форума, а тема была и вернулся, а тема жива.[/size]
308
06 июня 2007 года
Комаджу
850 / / 26.07.2006
С вложенными дивами я уже показал решение, более компактное, между прочим. Я так понял, задача была с одним дивом решить проблему.
2.2K
07 июня 2007 года
e1vin
153 / / 04.06.2006
Цитата: skywalker
Господа, Вас, что то путает совсем :D
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >  
<head>  <title>BlaBlaBla</title>  
<style type="text/css">  
html,body {height:100%;width:100%; margin:0px; padding:0px;}
div#heigh_100 {width:100%; height:100%; background-color:red;position:relative;}
div#top_100_px{position:absolute;top:0;left:0;width:100%;height:100px;background-color:blue;color:white;}
div#content{padding-top:100px;color:white;}
</style>  
</head>
<body>  
    <div id="heigh_100">
        <div id="content">
            100%
        </div>
        <div id="top_100_px">100px</div>
    </div>
</body>
</html>


[size=1]Я на некоторое время пропадал с форума, а тема была и вернулся, а тема жива.[/size]


Хе, ну достаточно элегантно, согласен, +1 :)
Никаких мучений.

4.6K
09 июня 2007 года
Tokolist
268 / / 22.03.2007
Хм.., ребята, или это я неправильно понял ТЗ... :)
Я так понял, что в слое, который растягивается на всю высоту должен быть контент (ибо зачем еще так извращаться :)) и когда его много у слоя должна появляться вертикальная прокрутка как у меня в посте #9, а не у боди, как у вас.
Лично я бы вообще так не извращался и аффтаром поста не являюсь, просто интересуюсь :)
Короче, кто сделает такое ТЗ отличным от способа в посте #9 без применение экспрешинов и еще и желательно (но не обязательно) не в квиркс моде, того признаю гуру блочной верстки :)
12
09 июня 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Tokolist

Короче, кто сделает такое ТЗ отличным от способа в посте #9 без применение экспрешинов и еще и желательно (но не обязательно) не в квиркс моде, того признаю гуру блочной верстки :)



Блин... совсем народ обленился... чем тебя решение в посте #15 от Комаджу? Ни каких хаков, глупым ослом понимается...

12
09 июня 2007 года
alekciy
3.0K / / 13.12.2005
И, кстати, при чем там слои? Стартопик ни чего о слоях не говорил, да и не нужны они тут, когда решение и так имеется.
4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
Цитата: alekciy
Блин... совсем народ обленился... чем тебя решение в посте #15 от Комаджу? Ни каких хаков, глупым ослом понимается...


Я ж говорю вставь в див контент для вертикальной прокрутки... (см. скриншот Осла как должно быть)
И при чем тут обленился????... наоборот хочется сделать как лучше.. :)
я ж блин трачу свое время и силы, а ты говоришь обленился :)
кроме того я привел решения моего ТЗ в посте #9

Цитата: alekciy
И, кстати, при чем там слои? Стартопик ни чего о слоях не говорил, да и не нужны они тут, когда решение и так имеется.


как это причем? :) div - это слой ;) хотя может в данном случае надо было употребить термин DIV дабы не вносить путаницу...

12
10 июня 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Tokolist
Я ж говорю вставь в див контент для вертикальной прокрутки... (см. скриншот Осла как должно быть)


Вставлял. Все получается как нужно. Тебе смещает прокрутка у всей страницы? Меня вот нет ибо так по хорошему и должно быть.

Цитата: Tokolist

кроме того я привел решения моего ТЗ в посте #9


Ну тогда уже можно было считать тему исчерпаной.

Цитата: Tokolist

как это причем? :) div - это слой ;) хотя может в данном случае надо было употребить термин DIV дабы не вносить путаницу...


Э нет... не путай ни себя, ни других ;) . div это div, слой это слой (см. z-index селектор). И смещивать этих два абсолютно разных понятия не только недопустимо, но и вредно.

4.6K
10 июня 2007 года
Tokolist
268 / / 22.03.2007
[QUOTE=alekciy]Вставлял. Все получается как нужно. Тебе смещает прокрутка у всей страницы? Меня вот нет ибо так по хорошему и должно быть.[/QUOTE]

[QUOTE=alekciy]Ну тогда уже можно было считать тему исчерпаной.[/QUOTE]

Да я согласен, что так верстать вообще не хорошо ))) просто интересовался, а вдруг кому-нибудь из заказчиков захочется именно так )))) Будем считать тему исчерпанной... ))


[QUOTE=alekciy]Э нет... не путай ни себя, ни других ;) . div это div, слой это слой (см. z-index селектор). И смещивать этих два абсолютно разных понятия не только недопустимо, но и вредно.[/QUOTE]
Знаю я об z-index))
Слова настолько взаимоповязаны, что их часто употребляют как синонимы, например "верстка дивами", "верстка слоями", "блочная верстка", так сложилось давно после того, как DIV и SPAN заменили LAYER.
В данном случае это тем более слой, т.к. используется position:absolute или position:fixed.
12
11 июня 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Tokolist

Слова настолько взаимоповязаны, что их часто употребляют как синонимы, например "верстка дивами", "верстка слоями", "блочная верстка", так сложилось давно после того, как DIV и SPAN заменили LAYER.
В данном случае это тем более слой, т.к. используется position:absolute или position:fixed.


Ты знаешь... как раз во избежании различной трактовки, для работы в одной парадигме и были придуманы и используются спецификации, СНИПы, ГОСТы, RFC-ы и прочие нормативные акты. И в HTML, CSS спецификациях вполне четко и однозначно прописано, что div-ы это div-ы, что span-ы это span-ы и это другое, и что слои это слои и ни какие не дивы... и ни какого LAYER в HTML нет. И что там придумал Netscape это их дело тем более что этот браузер уже умер...

И ни о каких синонимах идти речи не может. Мы же не говорим, что Java это синоним JavaScript. Это абсолютно разные вещи. И отрицание этого факта говорит либо о не понимании, либо отрицании спецух от W3C.

4.6K
11 июня 2007 года
Tokolist
268 / / 22.03.2007
2 alekciy
ок. спор бессмысленный. ты прав. проверь, пожалуйста, личку.
2.2K
14 июня 2007 года
e1vin
153 / / 04.06.2006
Цитата: Tokolist
Слова настолько взаимоповязаны, что их часто употребляют как синонимы, например "верстка дивами", "верстка слоями", "блочная верстка", так сложилось давно после того, как DIV и SPAN заменили LAYER.



Ерунда какая! :) Я верстаю блоками, но когда последний раз использовал слои - даже и не помню. Так что ж это такое получается?

36K
15 февраля 2008 года
Uraganchik
1 / / 15.02.2008
<html><head>
<style type="text/css">
html,body {height:100%;width:100%; margin:0px; padding:0px;}
html, body, #wrapper {
height:100%;
margin: 0;
padding: 0;
border: none;
text-align: center;
}
#wrapper {
margin: 0 auto;
text-align: left;
vertical-align: middle;
width: 100%;
background:green;
}
</style>
</head>
<body>
<table id="wrapper">
<tr><td>This is centered</td></tr>
</table>
</body>
</html>

перепробовал ваши коды и остановился на другом ))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог