Jump to content
  • 0

Куда делся px ?


Zuma
 Share

Question

Построил флоатом блоки в двух строках:

<div class="element" style="border-left: 0;"></div>
<div class="element"></div>
<div class="element"></div>

<div class="rek" style="margin-left: 0;"></div>
<div class="rek"></div>
<div class="rekl"></div>

css

.element {
position: relative;
float: left;
border-left: 1px solid #fff;
border-bottom: 1px solid #fff;
width: 233px;
height: 165px;
}
.rek {
overflow: hidden;
position: relative;
float: left;
margin: 1px 0 1px 1px;
padding: 0;
border: 1px solid #dedcdc;
width: 231px;
height: 64px;
background: #fff;
}

Проблема в том, что при увеличении масштаба в firefox в самом конце блоков rek пропадает пиксел и весь ряд получается на один px меньше блоков element. В других браузерах (опера, ие) все нормально. Помогите решить.

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Я не уверен, но проблема у Вас могла возникнуть из-за того, что вы не указываете единицы измерения - пример:

У ВАС:

<div class="element" style="border-left: 0;"></div>

А ДОЛЖНО БЫТЬ:

<div class="element" style="border-left: 0px;"></div>

Кроме того, я вижу, что конструкция у Вас не сложная, а вы используете такие свойства CSS как, например - position: relative; или overflow: hidden; - боюсь, что главная проблема имеет место в неправильном использовании свойств и, возможно, "корявости" кода.

Все имхо. Я могу ошибаться - попробуйте привести больше информации.

Link to comment
Share on other sites

  • 0

Во первых не понятно чего вы пытаетесь добиться версткой, так как при уменьшении экрана белые блоки скачут как хотят (rek которые)

Во вторых: последний див точно должен иметь класс rekl ? =/

Ну и в третьих, style="margin-left: 0;" написан только у одно дива, и значит второй будет все таки отступать на 1px, как продиктованно классом.

Link to comment
Share on other sites

  • 0

1. У меня ничего не скачет, просто пиксел то прибавляется, то пропадает при увеличении/уменьшении масштаба !только в firefox!;

2. у всех rek случайно l поставил_в коде нету;

3. все правильно, если сложить все пикселы в каждой из строк получится 701. - никаких лишних появляться не должно, а они ползут.

Link to comment
Share on other sites

  • 0

Вот здесь все видно:

<!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=windows-1251">
<title>Тра-та-та</title>
<link rel="stylesheet" type="text/css" href="ima2.css" />
</head>
<body>

<div id ="cpanel">
<div class="element" style="border-left: 0;"></div>
<div class="element"></div>
<div class="element"></div>

<div class="rek" style="margin-left: 0;"></div>
<div class="rek"></div>
<div class="rek"></div>

<div id="content_1">Тра-та-та</div>

</div>

</body>
</html>

body {
position: relative;
font-family: Verdana, sans-serif;
font-size: 10px;
font-weight: normal;
margin: 1px auto;
padding: 0;
width: 1005px;
border: 0;
}
#cpanel {
text-align: left;
border: 0px solid red;
position: absolute;
top: 0;
left: 152px;
margin: 0;
padding: 0;
width: 710px;
height: 800px;
background: url("cp.png") no-repeat;
opacity: 0.95;
}
.element {
position: relative;
float: left;
border-left: 1px solid #fff;
border-bottom: 1px solid #fff;
width: 233px;
height: 165px;
}
.rek {
overflow: hidden;
position: relative;
float: left;
margin: 1px 0 1px 1px;
padding: 0;
border: 1px solid #dedcdc;
width: 231px;
height: 64px;
background: #fff;
}
#content_1 {
position: relative;
float: left;
margin: 0;
padding: 0;
border: 1px solid #dedcdc;
width: 699px;
background: #fff;
}

Немного другой код, зато все понятно будет о чем я говорю.

Link to comment
Share on other sites

  • 0

чувствую себя доктором из анекдота про "неаккуратненько" :P

ну браузер же того... масштабирует, оперируя процентами. т. е. я не знаю, как это технически реализовано, но подозревою :P вот в нем какие-нить "+30%" для элементов с четным кол-вом пикселей в ширину и с нечетным по-разному увеличивает. кстати, в опере margin: 1px 0 1px 1px; для .rek тоже не идеально масштабирует. то 1 пиксель показывает, то два.

по-моему, чепуха это.

Link to comment
Share on other sites

  • 0

У меня или браузеры не правильные, или мы говорим о разных вещах с разным годом. У меня в фф3 все отлично, а вот в ие6 и 7 отстойненько.

А вообще трабла в маргинах и элементарной математике

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy