Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Верстка при помощи div (проблемы с шириной блока в Mozilla)

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

name

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть следущий тестовый код:

Код:
 
<html>
<head>
 <title>div</title>
 <style type='text/css'>
  div#left   { width: 30%; float: left; border: 1px solid #000}
  div#middle { width: 40%; float: left; border: 1px solid #000}
  div#right  { width: 30%; float: left; border: 1px solid #000}
 </style>
</head>
 
<body topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'>
 <div id='left'>left</div>
 <div id='middle'>middle</div>
 <div id='right'>right</div>
</body>
</html>
 

В Mozille и NS div'ы не располаются в одну строку. Как от этого избавится ?
 





Добавил уточнение в название. — Svarga.

Всего записей: 78 | Зарегистр. 05-11-2003 | Отправлено: 18:16 06-07-2004 | Исправлено: Svarga, 19:36 06-07-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
name

Цитата:
В Mozille и NS div'ы не располаются в одну строку.

border у тебя 1 пиксел у каждого блока, т. е. суммарная ширина получается
30%+40%+30% + (2 пиксела от боковых border'ов * 3)= 100% + 6 пикселов
 
Вот (как выглядит):

Код:
<html>
<head>
<title>div</title>
<style type='text/css'>
body{margin:0;padding:0}
div#left   { width:30%; float:left; background-color:red}
div#middle { width:40%; float:left; background-color:green}
div#right  { width:30%; float:left; background-color:blue}
</style>
</head>
 
<body>
 <div id='left'>left</div>
 <div id='middle'>middle</div>
 <div id='right'>right</div>
</body>
</html>


----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 19:33 06-07-2004 | Исправлено: Svarga, 19:40 06-07-2004
nexium

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решение подобной задачи в использовании вложенных <div> - ов, либо задании фоновой картинки для <div> - ов. Советую почитать о блочной модели CSS (http://htmlcoder.visions.ru/ , www.webmascon.com, если знаеш англ то - alistapart.com).  
Удачи.

Всего записей: 46 | Зарегистр. 19-05-2004 | Отправлено: 19:57 06-07-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nexium

Цитата:
 Советую почитать о блочной модели CSS (http://htmlcoder.visions.ru/ , www.webmascon.com,  если знаеш англ то - alistapart.com).  
Удачи.

почитать можно и здесь:
Код:


обзор «Помощи вебмастеру» » учебники, статьи, уроки, ресурсы »  



 

Цитата:
Решение подобной задачи в использовании вложенных <div> - ов, либо задании фоновой картинки для <div> - ов.

более простое решение — не использовать border'ов

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 20:15 06-07-2004
nexium

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Svarga
 

Цитата:
более простое решение — не использовать border'ов  

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

Всего записей: 46 | Зарегистр. 19-05-2004 | Отправлено: 13:53 07-07-2004
name

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nexium
Svarga
Спасибо за ссылки, почитаю
 
Svarga
 

Цитата:
border у тебя 1 пиксел у каждого блока, т. е. суммарная ширина получается  
30%+40%+30% + (2 пиксела от боковых border'ов * 3)= 100% + 6 пикселов  

 
Ага, причина мне понятна.
 

Цитата:
более простое решение - не использовать border'ов

Плохо сформулировал, нужно решение именно для border'ов.
 

Цитата:
Решение подобной задачи в использовании вложенных <div> - ов

С рамкой вылезает из div'a контейнера (
 

Цитата:
либо задании фоновой картинки для <div> - ов.  

ширину картинок в процентах, я правильно понял ?  
 
Еще вопрос (видимо, все-таки новую тему не нужно создавать ?)

Код:
 
  div#left   { width: 30%; float: left; padding: 2px}
  div#middle { width: 40%; float: left; padding: 2px}
  div#right  { width: 30%; float: left; padding: 2px}
 

 
А вот тут мне причина непонятна. Внутренний же отступ, или я не прав ?
 
ps. Я конечно понимаю, что ответы можно найти в интернете, но, к сожалению, времени катастрафически не хватает. Может вы скинете ссылки на корректно сверстанные посредством css и div сайты ? Пологаю, полезно взглянуть на конктреные работающие примеры  
 
 
 

Всего записей: 78 | Зарегистр. 05-11-2003 | Отправлено: 14:02 07-07-2004
nexium

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С "padding: 2px" то же самое что и с "border 1px"!
 
Вот посмотри CSS шаблоны - http://www.shockwork.com/_CSStemplates.rar думаю сгодится.
 
Вот пример с вложенными дивами-
 

Код:
 
<html>  
<head>  
<title>div</title>  
<style type='text/css'>  
div#left { width: 30%; float: left;}  
div#middle { width: 40%; float: left;}  
div#right { width: 30%; float: left;}  
.border_left { border: 1px solid #000}
</style>  
</head>  
 
<body topmargin='0' leftmargin='0' marginheight='0' marginwidth='0'>  
<div id='left'><div class="border_left">left</div></div>  
<div id='middle'><div class="border_left">middle</div></div>  
<div id='right'><div class="border_left">right</div></div>  
</body>  
</html>
 

 
 
name
 

Цитата:
ширину картинок в процентах, я правильно понял ?  

 
Нет! Можно задать бекграунд для дива c выравниванием по определенной стороне типа:
background-repeat: repeat-y; background-position: left; - я делал так вертикальные разделительные линии между блоками.

Всего записей: 46 | Зарегистр. 19-05-2004 | Отправлено: 17:58 07-07-2004 | Исправлено: nexium, 17:59 07-07-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
name

Цитата:
более простое решение - не использовать border'ов
 
Плохо сформулировал, нужно решение именно для border'ов.

можешь для Мозилл заключить все блоки в контейнер с max-width:100%... не проверял, но может поможет...

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 19:05 07-07-2004
name

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nexium

Цитата:
Вот посмотри CSS шаблоны - http://www.shockwork.com/_CSStemplates.rar  думаю сгодится.  

Ага, спасибо посмотрю )
 

Цитата:
Вот пример с вложенными дивами-  

Все работает замечательно, только я не понимаю почему между
left и middle двойная рамка, а между middle и right одиночная (.
 
Svarga

Цитата:
с max-width:100%.

Неа, не помогает.
 

Всего записей: 78 | Зарегистр. 05-11-2003 | Отправлено: 16:39 08-07-2004 | Исправлено: name, 16:41 08-07-2004
nexium

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дело в том что заданн бордер и два дива идут один за другим!

Всего записей: 46 | Зарегистр. 19-05-2004 | Отправлено: 16:10 10-07-2004
name

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Дело в том что заданн бордер и два дива идут один за другим

 
Все равно не понию - во втором случае разве не задан ?  
 

Цитата:
между left и middle двойная рамка, а между middle и right  

Всего записей: 78 | Зарегистр. 05-11-2003 | Отправлено: 15:55 12-07-2004
Vezunchik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите,плиз,сделать нечто типа выпадающего меню на Java Script, который будет появляться при вызове onclick()  на картинке. Что бы была возможность выбора елементов этого меню. Заранее спасибо.  

Всего записей: 2 | Зарегистр. 06-02-2007 | Отправлено: 18:55 29-04-2007
Jest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vezunchik
Вообще, это в гугль: как то так
 
Ну и вот несколько:
http://www.milonic.com/menu.php
http://mojavelinux.com/projects/dommenu/
http://www.milonic.com/menusample1.php
http://www.milonic.com/menusample26.php

Всего записей: 109 | Зарегистр. 26-08-2004 | Отправлено: 12:56 30-04-2007
DarkSmoke



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день.
Гуру верстки на дивах, помогитите. Сил уже нет. В ИЕ 6 разлазится правая сторана, да и низ тоже.
_http://violis.net.ua/test/  Может кто чего подскажет по оптимизации?

Код:
 
<!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>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="page">
    <div id="top"></div>
    <div id="left">
        <div id="right">
            <div id="body"><br><br>BODY<br><br></div>  
            <div id="bottom">
                <br><br>BOTTOM<br><br>
            </div>
        </div>
    </div>
    <div id="bottom-l"></div><div id="bottom-c"></div>
    <div id="bottom-r"></div>
</div>
</body>
</html>
 


Код:
 
@charset "utf-8";
/* CSS Document */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0; /* обнуляем внешние отступы */
padding: 0; /* обнуляем внутренние отступы */
border: 0; /* убираем бордюры */
outline: 0; /* убираем контуры */
font-size: 100%; /* задаем базовый размер шрифта, значение по умолчанию = 16px */
vertical-align: baseline; /* устанавливаем базовое вертикальное выравнивание */
background: transparent; /* устанавливаем фон прозрачным */
}
body {
line-height: 1; /* устанавливаем базовую высоту */
background-color:#fff/*868686*/
}
ol, ul {
list-style: none; /* убираем маркеры для нумерованных и обычных списков */
}
blockquote, q {
quotes: none; /* убираем кавычки для цитат */
}
blockquote:before, blockquote:after,
q:before, q:after {
content: ''; /* убираем */
content: none; /* и скрываем генерируемое содержимое */
}
:focus {
outline: 0; /* убираем контуры вокруг ссылок при фокусе */
}
ins {
text-decoration: none; /* убираем подчеркивание для вставленного текста */
}
del {
text-decoration: line-through; /* убираем перечеркивание для удаленного текста */
}
table {
border-collapse: collapse; /* убираем рамки двойной толщины */
border-spacing: 0; /* убираем расстояние между ячейками */
}
hr{
width:792px;
text-align:center
}
#page{  
width:875px;
position:absolute;
left:50%;
margin-left:-450px
}
#top{
width:875px;
height:242px;
background:url(images/top.jpg)
}
#left{
width:8px;
float:left;
background:url(images/left.jpg) repeat-y
}
#right{
width:25px;
background:url(images/right.jpg) repeat-y;
float:left;
margin-left:850px
}
#body,#bottom{
margin-left:-842px;
width:802px;
padding:0px 20px 0px 20px;
background-color:#FFF
}
#bottom-l{
background:url(images/bottom_l.jpg) no-repeat;
clear:left;
height:6px;
width:8px
}
#bottom-c{
background:url(images/bottom_c.jpg) repeat-x;
height:8px;
width:842px;
position:relative;
top:-6px;
left:8px
}
#bottom-r{
background:url(images/bottom_r.jpg) no-repeat;
width:25px;
height:6px;
position:relative;
top:-14px;
float:right
}
 

Всего записей: 962 | Зарегистр. 08-10-2005 | Отправлено: 19:41 28-11-2009
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Верстка при помощи div (проблемы с шириной блока в Mozilla)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru