Это можно сделать - crossbrowser (IE9, Mozilla, Chrome, Opera)?
На этой границе фрагмента .box
влияет свойство zoom
. Можно ли этого избежать?
<!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></title>
<style type="text/css">
.box {
zoom: 3;
-moz-transform: scale(3); /* FF fix */
border: 1px dotted black;
padding:10px;
}
</style>
</head>
<body>
<div class="box">content</div>
</body>
</html>
Я не совсем уверен, что вы ожидаете отсюда. Если вы примените свойство zoom
к любому элементу, то все его измерения будут преобразованы на 1/x
. Вдоль вашего примера, лучший способ сделать это - разделить запланированные измерения на значение вашего увеличения. В вашем примере, если вы хотите сохранить отступы в 10px
(или около того), вместо этого вы должны использовать padding:3px
.
Однако, поскольку ваша проблема связана с свойством border
и, в частности, установив 1px
в качестве значения, вы не можете разделить это на значение zoom
. Вместо этого вам придется обернуть HTML вокруг него:
<div class="border">
<div class="box"></div>
</div>
И переместите свой стиль .box
границы с .box
на .border