前端碎语(6)_html/css_WEB-ITnose
光标效果不见了?
在页面里,屏幕上光标的样式我们可以用css的’cursor’属性进行定义。一般来讲,只要光标hover到指定的元素上面其样式就会按我们指定的进行显示,但是如果我们指定的元素被其他元素“遮住了”呢?来看看下面这个demo:
demo
可以看到,虽然我们给div1自定义了光标样式,但在被div2盖住的那部分,我们预设的效果就没有了,或者说这个效果是不能“穿透”div2的。这也就提示我们,当我们的一些交互需要我们自定义光标样式的时候(比如拖动),一定要注意元素间的堆叠顺序,否则很有可能会出现你移动到某个位置上时你的光标效果突然消失的现象。
至于css本身是如何决定元素间堆叠顺序的,这还是个比较复杂的问题,具体地可以看看 张鑫旭这篇文章 。
js里几个获取元素宽高属性的比较
offsetWidth 、 clientWidth 、 scrollWidth 、 offsetHeight 、 clientHeight 、 scrollHeight 这几个属性的特点一直傻傻分不清,这次就好好把他们弄清楚吧。先看demo:
demo
先分析一下div1和待滚动条的div2两个普通元素的情况,在不同浏览器下(不考虑IE8-)运行上面这个demo后,在控制台可以看到各浏览器的结果都是一样的:
可以得出结论:
-
offsetWidth 和 offsetHeight 属性:数值对应的是元素的可视宽高,含元素本身宽高、padding、(有滚动条时)滚动条、border。
-
clientHeight 和 clientWidth 属性:数值对应的是元素的内容加padding所占据的视觉面积,有滚动条时还要加上滚动条,不含border。
-
scrollHeight 和 scrollWidth 属性:由div1的结果可见,没有滚动条时执行结果和 clientHeight 、 clientWidth 一样。有滚动条的情况则复杂一点,上面这个例子中div2的内容足够大、能产生滚动,故此时结果为 content 的大小;而如果把 content 这个div调小、直到不能产生滚动时结果应该是和 clientHeight 、 clientWidth 一样的。
上面的结论只是针对页面普通元素,如果使用这几个属性的是整个页面(html元素,这里用 document.documentElement 访问),那输出的情况就复杂了,没有明显的规律,找的不同的资料说法也不太相同、并不能解释我测试的结果。所以这里只讲一些我测试之后比较固定的结果,仅供参考:
-
首先 clientHeight 和 clientWidth 的行为普通元素的不太一样,在所有浏览器里基本指的都是页面视口的大小。
-
scrollHeight 和 scrollWidth 仍要分有没有滚动,有滚动时指的是整个页面内容的大小;没滚动时在chrome下指视口的大小、IE和FF下则是和 offsetWidth 、 offsetHeight 一样。
-
offsetWidth 与 offsetHeight 属性在chrome、FF、IE11下都和原来一样指整个元素的可视宽高。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。
