позициониране в Netscape
8 отговора
174 прегледа
позициониране в Netscape
Много ще съм ви благодарна, ако ми дадете насоки за решаването на следния въпроос - Защо не се получава позиционирането на див елементите (направено с css) в netscape, в IE става. Доколкото можах да прочета, не пише да има разлика в показването на позиционирани с top и left елементи в двата браузера, но явно не е точно така. Използвала съм следния код:
.2{
position : absolute;
top : 130px;
left : 20%;
width: 800px;
height: 600px;
padding : 85px 30px 100px 45px;
background-image : url(bm.gif);
background-repeat : repeat;
border : thin #339933;
border-style : none solid solid solid;
overflow: scroll;
}
Моля ви къде е грешката
.2{
position : absolute;
top : 130px;
left : 20%;
width: 800px;
height: 600px;
padding : 85px 30px 100px 45px;
background-image : url(bm.gif);
background-repeat : repeat;
border : thin #339933;
border-style : none solid solid solid;
overflow: scroll;
}
Моля ви къде е грешката
Re: позициониране в Netscape
Първо само да вметна, че имената на класовете не могат да започват с цифра, а трябва с буква.
Иначе проблемът ти идва от box model-а. Явно работиш под quirks mode (без DOCTYPE декларация в началото на HTML файла), при който IE прибавя всички padding-и и border-и към размерите на div-а. Решението е или да работиш в standards mode, където IE се държи "възпитано", или да приложиш CSS box model hack, което означава да зададеш еди-какви си размери за всички браузъри и различни размери специално за Internet Explorer, така че под всички браузъри DIV-ът да е еднакъв.
Ето как става с box model hack:
[линк]
А ето как става при работа в standards mode: първо, изчисляваш си размерите на div-а. Щом искаш ширината да е общо 800px, значи 800 - 30 - 45 = 725px. Височината ще е 600 - 85 - 100 = 415px. Съответно щом имаш border, трябва да извадиш и тях, което аз не съм направил. Препоръчвам ти да работиш с ясно зададени атрибути за border-ите, защото това thin изглежда различно под IE и Firefox. Кодът е:
[линк]
Иначе проблемът ти идва от box model-а. Явно работиш под quirks mode (без DOCTYPE декларация в началото на HTML файла), при който IE прибавя всички padding-и и border-и към размерите на div-а. Решението е или да работиш в standards mode, където IE се държи "възпитано", или да приложиш CSS box model hack, което означава да зададеш еди-какви си размери за всички браузъри и различни размери специално за Internet Explorer, така че под всички браузъри DIV-ът да е еднакъв.
Ето как става с box model hack:
[линк]
А ето как става при работа в standards mode: първо, изчисляваш си размерите на div-а. Щом искаш ширината да е общо 800px, значи 800 - 30 - 45 = 725px. Височината ще е 600 - 85 - 100 = 415px. Съответно щом имаш border, трябва да извадиш и тях, което аз не съм направил. Препоръчвам ти да работиш с ясно зададени атрибути за border-ите, защото това thin изглежда различно под IE и Firefox. Кодът е:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"[линк]">
<html lang="bg" xml:lang="bg" xmlns="[линк]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<style type="text/css" media="screen">
<!--
body{
font-family: verdana, sans-serif;
font-size: 1em;
}
h1{
font-size: 1.2em;
}
.dve{
position: absolute;
top: 130px;
left: 20%;
width: 725px;
height: 415px;
padding: 85px 30px 100px 45px;
background-color: #ffc;
border: thin #393;
border-style : none solid solid solid;
overflow: scroll;
}
-->
</style>
<title>Netscape positioning - standards mode</title>
</head>
<body>
<h1>Netscape positioning - standards mode</h1>
<div class="dve">
DIV клас dve DIV клас dve DIV клас dve DIV клас dve DIV клас dve DIV клас dve
DIV клас dve DIV клас dve DIV клас dve DIV клас dve DIV клас dve DIV клас dve
</div>
</body>
</html>
[линк]
Редактирано от dimodi на
Re: позициониране в Netscape
Жив да си! Благодаря ти много - взе че се получи. Обаче отново ще злоупотребя. Въпреки, че encodinga e cyrillic charset=windows-1251 и е написано на български, не ще да се вижда и това - вижда се само при енкодинг - Unicode (UTF-8) обаче аз не мога да разбера как да го укажа в кода, за да го разбират браузерите.
Обещавам да е последно за днес
Обещавам да е последно за днес
Re: позициониране в Netscape
Ти в Notepad ли работиш? Ако encoding-ът на браузъра е Cyrillic (Windows) и си сигурна, че charset-ът е зададен правилно на 1251, тогава може би сейваш файловете като Unicode от самия Notepad, а трябва да ги сейваш като ANSI. Обърни внимание на падащото меню "Encoding", което е под Save as type. За друго не се сещам в момента.
[линк]
[линк]
Редактирано от dimodi на
Re: позициониране в Netscape
не не работя ноутпад, но го копирах там и го сейвах катд анси - сега не се вижда нито под кирилик нито под юникод,
Re: позициониране в Netscape
Ами тогава виж настройките на програмата, в която работиш. От това, което ми казваш за Notepad, имам подозрения, че компютърът ти не е много добре настроен за работа с кирилица по принцип.... особено ако са ти излезли въпросителни на мястото на кирилицата.
[линк]
[линк]
Re: позициониране в Netscape
Това добре, ами има ли начин така да бъде указано в сорса, че директно браузера да го отваря под encoding Unicode (UTF-8) след като не става под кирилик , а ръчно като се премести се получава под Unicode?
Re: позициониране в Netscape
благодаря ти - стана най-накрая само, че като го опитах в home site na macromedia и то без много молби