Код (Text): #main { position:relative; top:7px; margin:auto; width:760px; height:auto; border:1px solid black; background-color:red; } это основной слой, в нем расположены другие дочерние слои. не могу задать фиксированную высоту, потому что контент может менятся. когда высота стоит "auto" или 100% слой получается почему-то очень высоким (около тысячи пикселов появляется зазор между концом контента и концом основного слоя). Как сделать так что-бы основной слой подстраивался под контент? И еще вопрос: почему у меня на этом слое top:7px; работает, а bottom:7px; не работает?
Danilevsky: Тогда вообще высоту не указывайте. Вам нужен внешний отступ или внутренний? Если внешний - margin-top: **px; or margin-bottom: **px; Если внутренний - то padding-top: **px; or padding-bottom: **px;
Код (Text): #main { margin:auto; margin-top:7px; width:760px; border:1px solid black; background:red; }
Вот код касательно вопроса нижнего отступа: Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { background-color:#FFFFCC; margin-top:0; margin-bottom:0; margin-left:0; margin-right:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; } #main { position:relative; margin:auto; width:760px; height:2000px; top:7px; border: 1px solid #999999; background-color:#FFFFFF; } </style> </head> <body> <div id="main"></div> </body> </html> Как внизу такой же отступ в 7 пикселей сделать?
Попробуй padding: 7px 5px 7px 5px Для этого нужен контейнер, в котором слой будет храниться и от которого будет отступ. (Например таблица) 2й способ - просто подобрать height элемента, чтобы снизу был отступ 7px
не знаю это ли ты имел в виду, но наконец сделал нижний отступ. вот код: Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { background-color:#FFFFCC; margin-top:0; margin-bottom:0; margin-left:0; margin-right:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; } #main { top:7px; position:relative; margin:auto; width:760px; height:2000px; border: 1px solid #999999; background-color:#FFFFFF; } #suka_bottom { position:relative; top:100%; height:7px; } </style> </head> <body> <div id="main"> <div id="suka_bottom"></div> </div> </body> </html>
1 вопрос (высота основного слоая) остается неразрешенным. но я наконец-то выявил закономерность. вот код: Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { position:relative; background-color:#CCCC99; margin-top:0; margin-bottom:0; margin-left:0; margin-right:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; } #main { top:7px; position:relative; margin:auto; width:760px; border: 1px solid #999999; background-color:#FFFFFF; } #line_1_1 { position:relative; top:5px; left:5px; width:200px; height:20px; background-color:#CCCCCC; } #line_1_2 { position:relative; top:-15px; left:208px; width:547px; height:20px; background-color:#CCCCCC; } #line_2_1 { position:relative; top:-12px; left:5px; width:200px; height:20px; background-color:#CCCCCC; } #line_2_2 { position:relative; top:-32px; left:208px; width:547px; height:20px; background-color:#CCCCCC; } </style> </head> <body> <div id="main"> <div id="line_1_1"></div> <div id="line_1_2"></div> <div id="line_2_1"></div> <div id="line_2_2"></div> </div> </body> </html> Вот результат этого кода: Так вот я выяснил, что чем больше слоев я делаю, то тем больше будет этот белый зазор. Вопрос: как убрать этот белый зазор?
Не пойму, зачем так мудрить? По мне, так проще сделать простую таблицу <table>. А белую полосу можно убрать так: Код (Text): #main{ height:xx; } или поменять все координаты, поставить position:absolute #main{ position:absolute; z-index:1; } #line{ position:absolute; z-index:2; }
Davil, в том то и дело, что нужно мне только relative. потому что контент меняется, по этой же причине не могу поставить height:xx; таблица не катит. Как-то же должна эта проблемма решаться. ниче, буду искать...
Danilevsky Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { position:relative; background-color:#CCCC99; margin-top:0; margin-bottom:0; margin-left:0; margin-right:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; } #main { position: relative; margin: auto; width: 760px; border: 1px solid #999999; background-color: #FFFFFF; } #line_1_1 { position: relative; width: 202px; float: left; height: 20px; margin-top: 3px; margin-left: 2px; background-color: #CCCCCC; } #line_1_2 { position: relative; float: right; margin-top: 3px; margin-bottom: 3px; margin-right: 2px; width: 547px; height: 20px; background-color: #CCCCCC; } #line_2_1 { position: relative; width: 202px; margin-top: 3px; margin-left: 2px; float: left; height: 20px; background-color: #CCCCCC; } #line_2_2 { position: relative; width: 547px; float: right; margin-bottom: 3px; margin-right: 2px; height: 20px; background-color:#CCCCCC; } </style> </head> <body> <div id="main"> <div id="line_1_1"></div> <div id="line_1_2"></div> <div id="line_2_1"></div> <div id="line_2_2"></div> </div> </body> </html>
Danilevsky: Тогда так: Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { position: relative; background-color: #CCCC99; margin-top: 0; margin-bottom: 0; margin-left: 0; margin-right: 0; font-family: Arial, Helvetica, sans-serif; font-size: 11px; } #main { top: 7px; position: relative; margin: auto; width: 760px; border: 1px solid #999999; background-color: #FFFFFF; } #line_1_1 { position: relative; width: 202px; float: left; height: 20px; margin-top: 3px; margin-left: 2px; background-color: #CCCCCC; } #line_1_2 { position:relative; margin-bottom: 3px; margin-top: 3px; width: 547px; height: 20px; background-color:#CCCCCC; } #line_2_1 { position:relative; margin-left: 4px; width: 202px; height: 20px; background-color:#CCCCCC; } #line_2_2 { position: relative; width: 547px; float: right; margin-bottom: 3px; margin-right: 2px; margin-top: -20px; height: 20px; background-color:#CCCCCC; } html>body #line_1_2 { margin-left: 4px; margin-left: 209px; } html>body #line_2_2 { margin-left: 209px; margin-left: -4px; margin-right: 4px; } html>body #line_1_1 { width: 202px; margin-left: 4px; } html>body #line_ { margin-left: 209px; } html>body #main { padding-bottom: 3px; padding-top: -1px; } </style> </head> <body> <div id="main"> <div id="line_1_1"></div> <div id="line_1_2"></div> <div id="line_2_1"></div> <div id="line_2_2"></div> </div> </body> </html>
Danilevsky: Это CSS-хак. Я его добавил, т.к не получалось сделать код, который одновременно понимали бы IE, Опера и Мозилла. Его понимают только Опера и Мозилла, а IE не видит, поэтому в нем можно прописывать стили, которые будут показывать только Мозилла и Опера. p.s. http://forum.vingrad.ru/index.php?act=m ... r_enabled=
Danilevsky: Книг специальных я не читал, просто года 1,5 назад стал итересоваться HTML, и захотел сделать собственного хомяка. Но т.к css и html я еще плохо знал, задавал много вопросов на одном форуме, мне помогали и я постепенно вникал в суть обоих стандартов, и потом научился самостоятельно писать сайты. Вот.. p.s. Самый правильный ресурс - www.w3c.org Там есть все про все существующие стандарты (в русском переводе в том числе.).
упорство и труд - все перетруд! Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <style type="text/css"> body { position:relative; background-image:url(/lib/img/bg.gif); margin-top:0; margin-bottom:0; margin-left:0; margin-right:0; } #main { position: relative; top:7px; margin: auto; width: 748px; border: 1px solid #999999; background-color: #FFFFFF; padding:5px; } #line { position:relative; width:203px; margin-right:3px; height:20px; background-color:#CCCCCC; } #line2 { position:relative; width:542px; left:206px; height:20px; background-color:#CCCCCC; margin-top:-20px; margin-bottom:0; } #line2_1 { position:relative; width:203px; margin-right:3px; height:20px; background-color:#CCCCCC; margin-top:3px; } #line2_2 { position:relative; width:542px; left:206px; height:20px; background-color:#CCCCCC; margin-top:-20px; margin-bottom:0; } </style> </head> <body> <div id="main"> <div id="line"></div> <div id="line2"></div> <div id="line2_1"></div> <div id="line2_2"></div> </div> </body> </html>