完善上一篇日志中demo的两个不足。
- js只能修改html内部的css样式代码;
- 隐藏div的高度固定,如果隐藏区域文字变动时,布局变差。
1. js调用外部css样式表的style值
css样式表有三种写法:
- 内嵌样式(inline Style) :是写在Tag里面的,内嵌样式只对所有的Tag有效。
- 内部样式(internal Style Sheet):是写在HTML的 里面的,内部样式只对所在的网页有效。
- 外部样式表(External Style Sheet):如果很多网页需要用到同样的样式(Styles),将样式(Styles)写在一个以.css为后缀的CSS文件里,然后在每个需要用到这些样式(Styles)的网页里引用这个CSS文件。
在JavaScript中,通过document.getElementById(id).style.XXX就可以获取到XXX的值,但意外的是,这样做只能取到通过内嵌方式设置的样式值,即style属性里面设置的值。
解决方案:引入currentStyle,runtimeStyle,getComputedStyle style 标准的样式:
/*Get css property value from extenal style sheet for IE browser */
if(hid.currentStyle) {
display = hid.currentStyle['display'];
}
/*Get css property value from extenal style sheet for FireFox, Chrome browser */
else if(window.getComputedStyle) {
display = window.getComputedStyle(hid, null)['display'];
}
参考链接:http://apps.hi.baidu.com/share/detail/22727000
获得一个不能预知高度的DIV的高度
以下完全摘自: 获得一个不能预知高度的DIV的高度
- 通过元素的clientHeight属性能够得到元素的高度,如:
- var height = element.clientHeight;
-
- 这种做法的局限:
- 1. 如果元素的display属性设置为none, 那么得到的结果为0
- 2. 在safari浏览器中,需要使用:element.offsetHeight得到实际高度,这是safari浏览器的bug
-
- 下面是Prototype提供的方法,能够兼容各种浏览器,同时在元素隐藏的情况下也能正确得到元素尺寸,供参考:
- getDimensions: function(element) {
- element = $(element);
- var display = $(element).getStyle('display');
- if (display != 'none' && display != null)
- return {width: element.offsetWidth, height: element.offsetHeight};
-
-
-
- var els = element.style;
- var originalVisibility = els.visibility;
- var originalPosition = els.position;
- var originalDisplay = els.display;
- els.visibility = 'hidden';
- els.position = 'absolute';
- els.display = 'block';
- var originalWidth = element.clientWidth;
- var originalHeight = element.clientHeight;
- els.display = originalDisplay;
- els.position = originalPosition;
- els.visibility = originalVisibility;
- return {width: originalWidth, height: originalHeight};
- }
Prototype提供的方法很聪明,通过
- els.visibility = 'hidden';
- els.position = 'absolute';
- els.display = 'block';
得到了
- display:none
的 width,height。
自己裸奔写js代码很傻だけど...
分享到:
相关推荐
本主题聚焦于如何在Unigui项目中调用外部JavaScript(js)和样式表(css)资源,这对于扩展功能、引入第三方库或者实现自定义样式是必要的。 首先,理解Unigui的基础架构是关键。Unigui基于Vue.js,Vue.js是一个...
"韩顺平《轻松搞定网页设计HTML+CSS+JAVASCRIPT》之DIV+CSS学习笔记" 本资源主要讲解了 DIV+CSS 的概念和应用, DIV 是 HTML 文档中用来提供结构和背景的元素,而 CSS 是一种用来表现 HTML 或 XML 等文件式样的...
在本文中,我们学习了使用JS+CSS来实现DIV层自适应高度和宽度的技术。我们了解了CSS基础知识、JavaScript基础知识、获取浏览器窗口的高度、实现DIV层自适应高度、实现DIV层自适应宽度和监听窗口resize事件等知识点。...
HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 HTML+CSS+JavaScript教程学习笔记HTML+CSS+JavaScript教程学习笔记 ...
在这个主题中,我们将深入探讨如何在Unigui项目中调用外部JavaScript库和CSS样式表,以及如何创建一个功能完备的左侧导航栏。 首先,调用外部JavaScript库是Unigui应用扩展功能的关键步骤。这通常涉及到在HTML页面...
1. **知识内容** - 本课主要讲解CSS样式表和选择器的概念,以及如何添加外部CSS样式表和修改其属性值。通过理解这些概念,学生能够独立设计和美化网页,同时提升审美和创新能力。 2. **教材处理** - 教师将知识点...
前端学习笔记网站(HTML5+CSS3+JavaScript前端网页web课程设计).rar前端学习笔记网站(HTML5+CSS3+JavaScript前端网页web课程设计).rar前端学习笔记网站(HTML5+CSS3+JavaScript前端网页web课程设计).rar ...
html css js 学习笔记html css js 学习笔记html css js 学习笔记 html css js 学习笔记html css js 学习笔记html css js 学习笔记 html css js 学习笔记html css js 学习笔记html css js 学习笔记 html css js 学习...
外部样式表是将css代码写入到一个独立的文件中,并通过link标签将其链接到jsp页面中。这种方法的优点是可以将样式统一管理,修改样式只需要修改该文件,所有链接到该文件的jsp页面将自动更新。其缺点是需要额外的...
在JavaScript中动态改变CSS样式表是一种常见的前端技术,它允许我们根据用户行为或者特定条件更改网页的视觉表现。本文将详细解析如何通过JavaScript实现页面样式表的切换,并探讨相关的关键知识点。 首先,为了...
标题中的“用js动态改变css样式表”是指在网页开发中使用JavaScript来动态修改或切换CSS样式表,从而实现页面样式的实时更新。这一技术在交互式网站设计中非常常见,因为它允许用户根据个人喜好或需求调整页面外观。...
**CSS样式学习笔记** **一、CSS简介** CSS(Cascading Style Sheets)是一种层叠样式表语言,自1996年起发展至今,已经成为Web设计的标准之一。1998年5月,W3C发布了CSS Level 2规范,为网页设计提供了强大的样式...
JavaScript学习笔记讲解版参考.pdf是一份详尽的教程,涵盖了从基础到进阶的JavaScript知识。这份笔记首先从CSS样式表开始,引导读者理解网页样式的设置与应用。 1. CSS(Cascading Style Sheets)样式表是用于控制...
网页设计是构建互联网内容...通过深入研究这个`DIV+CSS+JavaScript`的首页示例,你不仅可以掌握基础的网页设计技巧,还能了解到现代网页开发的实践方法。不断实践和迭代,你将能够创造出更加精致、功能丰富的网页作品。
通过这个"unigui_调用外部js与css (1).rar"文件,你可能会学习到如何更高效、更灵活地在Unigui应用中集成外部样式和脚本,从而提升应用的交互性和用户体验。记得解压文件查看示例代码和详细步骤,这将有助于你更好地...
`DIV`(Division)是HTML中的一个容器元素,它主要用于组织和划分页面内容,而`CSS`(Cascading Style Sheets)则是一种样式表语言,用来描述HTML或XML(包括如SVG、MathML等各种XML方言)文档的呈现。在这个“打分...
2. 能够使用CSS的扩展选择器选择元素 3. 能够说出盒子模型的属性 4. 能够说出JS中五种数据类型 5. 能够使用JS中常用的运算符 6. 能够使用JS中的流程控制语句 7. 能够在JS中定义命名函数和匿名函数
JavaScript(简称JS)和CSS是Web开发中的两个关键技术,它们分别负责网页的交互逻辑与样式设计。在本文中,我们将深入探讨如何使用JavaScript来动态地改变CSS样式,以实现如标题所示的效果——通过页面JS事件改变...
文档库,学习笔记,包括但不限于HTML、CSS、JavaScript 文档库,学习笔记,包括但不限于HTML、CSS、JavaScript 文档库,学习笔记,包括但不限于HTML、CSS、JavaScript 文档库,学习笔记,包括但不限于HTML、CSS、...
JavaScript(JS)虽然主要负责动态交互,但在某些情况下,可以用于辅助实现CSS样式,例如封装DIV圆角样式。本文将深入探讨如何使用JS来封装和应用CSS圆角效果,并通过提供的压缩包文件中的示例进行解析。 首先,让...