默认的body margin,我没有设置,但它确实有默认值8px,如何获取这个值?

Posted

技术标签:

【中文标题】默认的body margin,我没有设置,但它确实有默认值8px,如何获取这个值?【英文标题】:default body margin, I didn't set, but it does have default value 8px, how can get this value? 【发布时间】:2012-05-09 03:49:33 【问题描述】:
    <style type="text/css">
        fieldset 
            border: solid 1px orange
        
        .label 
            font-family: Arial;
            font-size: 12px;
            font-weight: bold
        
        .groupName 
            font-family: Segoe UI;
            font-size: 16px;
            color: Gray
        
    </style>

    <script type="text/javascript" src="libs/json2.js"></script>
    <script type="text/javascript" src="libs/jquery.js"></script>
    <script type="text/javascript" src="libs/sap.common.globalization.js"></script>
    <script type="text/javascript" src="libs/sap.riv.base.js" base-url="modules/"></script>
    <script type="text/javascript" src="modules/main.js"></script>
    <script type="text/javascript" src="libs/sap.riv.themes.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px; background-color: #ffffff"><div id="0" style="position: absolute; font-size: 10px; box-sizing: border-box; overflow-x: visible; overflow-y: visible; left: 8px; top: 8px; width: 600px; height: 400px; ">` 

在 chrome 中我可以看到

 body
 display:block;
 margin: 8px;

我使用 document.getElementsByTagName('body').style 但什么也没得到。

我的第一个 div 位于顶部和左侧:html 正文的 8px。

但它确实有边距,我怎样才能得到这个默认边距值?

【问题讨论】:

浏览器边距?您是否要删除此边距? 【参考方案1】:

document.getElementsByTagName('body') 成功返回一个数组。 要摆脱正文中的边距,请使用普通 css

body
    margin: 0;

编辑: 我发现这个函数可以给你quirksmode上元素的样式

function getStyle(el,styleProp)

    if (el.currentStyle)
        var y = el.currentStyle[styleProp];
    else if (document.defaultView && document.defaultView.getComputedStyle)
        var y = document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp);
    return y;

Fiddle1Fiddle2

【讨论】:

很抱歉通知您,我已尝试 document.getElementsByTagName('body')[0].style undefined。而且我无法更改页面的布局,因为我需要获取clientX和clientY作为div图表中的位置。【参考方案2】:

您可以查看以下链接:

http://javascript.info/tutorial/styles-and-classes-getcomputedstyle

检查正文边距值(http://jsfiddle.net/eMnBL/6/):

var computedStyle = window.getComputedStyle ? getComputedStyle(document.body, null) : document.body.currentStyle;

alert(computedStyle['marginTop']);

【讨论】:

不适用于 FF 和 IE,适用于 Opera 和 Chrome

以上是关于默认的body margin,我没有设置,但它确实有默认值8px,如何获取这个值?的主要内容,如果未能解决你的问题,请参考以下文章

默认的 `<body>` 边距有多宽?

margin外边距属性

为啥我设置了html和body的高度都是100%,内容却不能铺满

css已设置width100% 为啥宽度没有占满浏览器?

前端笔记-20171228

Html标签的css默认属性值