0 0

js无法设置div width与height的问题10


<html>
<div width="200" height="300" id="div1" style="display:none">1</div>
<html>
	
<script type="text/javascript">
		
		var div1 = document.getElementById('div1');	

		div1.style.visibility = "visible";
		div1.style.display = "block";
		div1.style.overflow= "hidden";

		alert('before:'+div1.offsetWidth);
		div1.style.width = "0px";
		alert('after:'+div1.offsetWidth);		
				
		alert('before:'+div1.offsetHeight);
		div1.style.height = "0px";
		alert('after:'+div1.offsetHeight);
		
		alert('为什么offsetWidth可以设置为0;而offsetHeight不能设置为0');
			
</script>


如代码所示,为什么设置width可以,而设置height不行,求解答。我在开发的时候,遇到了这个问题,截取部分内容想请教一下各位大虾。
2010年9月28日 09:03

4个答案 按时间排序 按投票排序

0 0

你为什么要都设置为0呢,直接隐藏掉不行吗

2010年9月28日 17:20
0 0

首先,你的代码中没有申明DTD,所以,在IE下,id=div1的div表现为height就是最小高,类似于min-height(IE6不识别该属性),所以,它的高将随内容而走。默认的,浏览器里的字大小为16px,所以,你的div在IE下的高度就是16px,即使你设置了height,这个div的高度,仍然会随你的内容而变化。但是,如果你去FireFox下打开的话,那么,你设置的这个div的高度将是起作用的。因为,FireFox是遵守W3C标准的。具体的内容可以通过给div给border来查看。
举例:
<div style="height:6px;border:1px solid #000;">ABC</div>
将这个内容放置在一个单独的html中,分别用IE和FireFox打开看一下就可以知道差别了。
想让他们保持一致的话,请给页面的第一行加上一下内容:
<!DOCTYPE html>
然后在对比IE和FF

其次,div是一个无样式属性的标签,你对div设置的width,height都是错误的,这些属性只有写在style里或者css中才有效。
第三,你设置的是height,但是,你问的问题是offsetHeight,还有,你的问题和你的代码不一致,让人很疑惑。

如果你是一个前端工程师,那你就需要学习一下这些html,xhtml这些必须的知识,如果你只是一个客串前台的后台程序员,则不需要在这个内容上下很大的功夫,这个交给前端工程师去解决吧!

2010年9月28日 16:49
0 0

给div设置百分比的高度,他的外框一定要有一个固定的高度,如你所述,即使我给某个高度50%的div的外部div设置高度100%,这个外部div的100%又是以那个的高度为参照物呢,如果100%的div的父级div有一个固定的高度,那么100%的div和50%的div高度都是以有固定高度的div为参照的,如果100%的div并没有一个参照物,那么他的100%高度也是不生效的,自然50%的div也不会生效。

2010年9月28日 15:13
0 0

<!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></head>
<body>
<div width="200" height="300" id="div1" style="display:none">1</div>  
<script type="text/javascript">   
           
        var div1 = document.getElementById('div1');    
  
        div1.style.visibility = "visible";   
        div1.style.display = "block";   
        div1.style.overflow= "hidden";
		div1.style.border="1px solid red";
  
        alert('before:'+div1.offsetWidth);   
        div1.style.width = "0px";   
        alert('after:'+div1.offsetWidth);          
                   
        alert('before:'+div1.offsetHeight);   
        div1.style.height = "0px";
        alert('after:'+div1.offsetHeight);   
           
        alert('为什么offsetWidth可以设置为0;而offsetHeight不能设置为0');   
               
</script> 
</body>
</html>  

2010年9月28日 09:52

相关推荐

    js取得DIV的top,left,width,height值.doc

    在JavaScript中,获取DOM元素(如DIV)的`top`, `left`, `width`, `height`等属性值是常见的需求,这些属性可以帮助我们精确地控制页面元素的位置和大小。以下是一些关于如何获取这些值以及相关知识的详细解释: 1....

    div设置宽度背景颜色js代码.zip

    综上所述,"div设置宽度背景颜色js代码"涉及的核心知识点包括:JavaScript操作DOM元素、修改元素样式、事件处理以及可能的动画效果。这些技能是前端开发中的基本功,对于构建动态、交互丰富的Web应用至关重要。

    JS实现div圆弧

    JavaScript(JS)结合CSS3可以轻松实现div元素的圆角或者部分圆弧效果。这篇文章将深入探讨如何使用JavaScript和CSS3来创建div的圆弧效果。 【描述】虽然没有提供具体的描述,但我们可以从常规的实践出发,理解JS...

    通过JS自动调整图片的大小以适应div的高和宽

    在默认情况下,如果一个图片的`width`和`height`被设置为100%,它会按照容器的尺寸填充,可能会导致图片变形。为了避免这种情况,我们可以利用`max-width`和`max-height`属性,这两个属性允许图片的最大宽度或高度不...

    js控制div全屏

    在网页设计中,有时我们需要将某个`div`元素设置为全屏显示,以提供沉浸式的用户体验或特定功能的实现。JavaScript(简称js)作为一种强大的客户端脚本语言,可以帮助我们轻松实现这一需求。在这个项目中,我们使用...

    javascript获取设置div的高度和宽度兼容任何浏览器.docx

    ### JavaScript 获取和设置 div 的高度和宽度以兼容各种浏览器 #### 概述 在Web开发过程中,经常需要处理不同浏览器间的兼容性问题。对于获取和设置`div`元素的高度和宽度,JavaScript提供了多种方法来确保跨...

    使用JS+CSS实现DIV层自适应高度和宽度

    在实现DIV层自适应高度和宽度时,我们需要使用JavaScript来动态地改变DIV层的高度和宽度。因此,我们需要了解一些基本的JavaScript知识点,例如变量的声明、函数的定义和调用、事件的监听等。 三、获取浏览器窗口的...

    Js弹出div和关闭

    根据给定的信息,本文将详细解释如何使用JavaScript(简称JS)来实现弹出一个`div`元素,并在其中展示特定内容以及如何通过点击关闭按钮来隐藏这个`div`。 ### Js弹出div和关闭 #### 弹出div的原理与实现 在网页...

    JavaScript改变地图DIV大小

    在这个实例中,我们将探讨如何使用SuperMap iClient 7C for JavaScript来动态地改变地图显示在页面中的DIV元素的大小。 首先,理解基本概念:在HTML中,`&lt;div&gt;`元素是一个可塑性很强的容器,通常用来组织网页内容。...

    用JS实现2个DIV等高.rar

    在本教程中,我们将探讨如何使用JavaScript(JS)来实现两个div元素的高度同步,以确保它们始终具有相同的高度。这个主题关联的标签是“JS特效-表格图层”,暗示我们可能在处理一种类似表格或分块布局的情况。 首先...

    js 创建 div层

    本篇将详细介绍如何利用JavaScript来创建、操作和关闭div层,并结合CSS进行样式设置。 首先,我们需要了解JavaScript的基本语法。在JavaScript中,我们可以使用`document.createElement()`方法来创建一个新的HTML...

    js拖动div并拖动DIV的大小

    在JavaScript中,实现一个div元素的拖放以及调整大小的功能是一项常见的需求,尤其在构建交互式的Web应用时。这个功能涉及到HTML、CSS和JavaScript的综合运用。以下将详细讲解实现这个功能所需的关键知识点: 1. **...

    js控制六个div的大小变化

    在网页开发中,JavaScript(JS)是一种至关重要的脚本语言,它允许开发者动态地操作页面元素,如改变其尺寸、位置、内容等。标题“js控制六个div的大小变化”指出,我们将探讨如何使用JavaScript来调整HTML中的六个...

    js解决div内图片自适应大小

    然而,仅使用CSS无法处理图片高度自适应,因为图片原始比例可能与div比例不一致。这时,我们需要借助JavaScript来动态调整图片高度。以下是一个简单的JavaScript解决方案: ```javascript window.onload = function...

    js动态给div加线性边框

    "js动态给div加线性边框"这个话题就是关于如何使用JavaScript来实现一个动态的、线性的边框效果。线性边框通常指的是沿着div四周边缘的平滑过渡色彩,这种效果在许多现代网页设计中常见,比如进度条、加载动画等。接...

    JAVASCRIPT弹出DIV层窗口实例

    这个`&lt;div&gt;`可能会被设置为`display:none`,默认情况下不显示,然后通过JavaScript使其可见。 例如,HTML代码可能如下所示: ```html &lt;!DOCTYPE html&gt; &lt;title&gt;JavaScript弹出DIV层窗口实例 #popup { ...

    .net js代码实现div拖拽功能

    在.NET环境中,我们可以结合JavaScript(JS)来实现HTML元素,如div的拖拽功能。这是一种增强用户交互体验的常见技术,让用户可以通过鼠标操作在页面上移动特定的元素。下面我们将详细探讨如何实现这一功能。 首先...

    js 实现div 遮蔽

    通过创建一个覆盖在页面上的透明或半透明div(层),可以有效地阻止用户与背景元素的互动,只允许他们与遮罩层内的特定元素交互。 首先,我们需要理解HTML和CSS的基本概念。HTML(超文本标记语言)是网页内容的结构...

    js实现获取div坐标的方法

    函数返回一个对象,其中包含了六个属性,分别是:元素自身的宽度(`width`),元素自身的高度(`height`),元素相对于页面(或父元素)左边界的坐标(`x`或`left`),元素相对于页面(或父元素)上边界的坐标(`y`...

    js实现div拖动功能.rar

    var newX = Math.max(0, Math.min(windowWidth - divWidth, e.clientX - startX)); var newY = Math.max(0, Math.min(windowHeight - divHeight, e.clientY - startY)); // 更新div的位置 draggableDiv.style....

Global site tag (gtag.js) - Google Analytics