首页
学习
活动
专区
圈层
工具
发布

动手练一练,手写一个价格对比、固定表头滚动的表格

对于inline的元素这个属性一直是0,单位px,只读元素。 offsetHeight:包括padding、border、水平滚动条,但不包括margin的元素的高度。...scrollHeight: 因为子元素比父元素高,父元素不想被子元素撑的一样高就显示出了滚动条,在滚动的过程中本元素有部分被隐藏了,scrollHeight代表包括当前不可见部分的元素的高度。...getBoundingClientRect是DOM元素到浏览器可视范围的距离(不包含文档卷起的部分)。...是元素自身的宽高; 3.3、但是right,bottom和css中的理解有点不一样。...1、定义DOM变量 首先我们先定义一些关键DOM元素的变量,比如获取表格、表头等元素,示例代码如下: const body = document.body; const firstSection = document.querySelector

4.3K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ​探秘 Web 水印技术

    可见水印大都是基于 DOM 的,找到这个 DOM 节点,通过浏览器插件、抓包工具等在页面上注入一段 JavaScript 或者 CSS 代码对其进行篡改或删除并不困难。...防止外部代码篡改,一种思路是把水印元素封装起来,与外部环境进行隔离。 Shadow DOM 在 Chrome 逐步统治浏览器江湖之后,谷歌正野心勃勃的推广 Web Components 技术。...该技术允许在 Web 中创建可重用的小部件或组件。...为了提高 web 水印的隐蔽性,同时避免受外部代码影响,从而在一定程度上防止篡改,可以考虑把水印元素放在 Shadow DOM 中。 来看下 Shadow DOM 的基本用法。...Reference Web Components shadow DOM 如何让文字作为 CSS 背景图片显示? 《数字图像隐写分析》 《数字图像处理原理与实践》 《数据隐藏技术揭秘》

    3.2K22

    腾讯地图JSAPI-在地图上添加自定义覆盖物

    要将自定义覆盖物显示在地图上,首先得明确具体的地图实例,有两种办法,一是在初始化参数中定义map属性,二是通过setMap进行动态设置,可以绑定到另一个地图实例上,或者解绑。setMap做了什么呢?...在地图发生平移、缩放、旋转时调用,用于更新DOM元素定位 onDestroy在销毁阶段调用,可在此函数中对自定义的对象和事件监听进行删除 具体的生命周期如下: [172b2ebd0e2fa42b?...另外,我们在createDOM方法中对生成的svg元素设置了CSS样式position:absolute;top:0px;left:0px;,所以元素实际定位是与地图容器左上角对齐。...因为你没有触发事件啊:joy: 首先你需要监听DOM元素的点击事件,可以在createDOM中实现: // 创建DOM元素,返回一个Element,使用this.dom可以获取到这个元素...元素的click监听 svg.addEventListener('click', this.onClick); return svg; } 在click事件回调中可以直接执行你想要的操作

    4.4K50

    HTML5新特性

    H5中新增的表单元素 -datalist (datalist本身不可见) XX YY...H5中新增的表单元素 -progress(显示一个进度条),有两种形式: (1). 左右晃动的进度条 (2)....补充:如何为Canvas上的图形/图像绑定事件监听 网页中只能为HTML元素绑定监听函数,Canvas上的图形/图像都是用JS绘制的,不是DOM元素,不能直接进行事件绑定 只能绑定给整个Canvas!...图形可以使用JS来对属性赋值;但不能使用HTML DOM形式,只能用核心DOM操作,如: r.x = 10; r.width = 100; //无效 r.setAttribute('x', 10...一般情况下,网页只能显示服务器上的图片,HTML5中,可以实现用户拖拽一张本地的图片显示在服务器端下载的网页中 HTML中提供的用于文件输入输出(I/O)对象: File:代表一个文件/目录对象 FileList

    10.1K30

    【JS】322- 手把手教你实现前端惰性加载

    从需求出发: 在实际的项目开发中,我遇到了一个这样的需求:一个页面模块有很多列表数据展示,每条数据都带有图片,而首次展示的图片只需要不到10张,那么我们还要一次性把所有图片都加载出来吗?.../img/img5.png" src="image-placeholder-logo.svg"> src属性统一用一个占位图片,alt属性是在图像无法显示时的替代文本...返回一个观测实例observe,可以指定观测哪个DOM节点。...IntersectionObserverEntry对象提供了很多有用的属性,比如target是被观察的目标元素,是一个 DOM 节点对象, intersectionRatio是目标元素的可见比例,即DOM...在页面底部有一个loading状态标签。一旦标签可见,就表示用户到达了页面底部,从而加载新的条目放在标签的前面。

    1.4K30

    Interview

    、bgsound、blink、marquee 对可用性产生负面影响的元素:frameset、frame、noframes,在html5中不支持frame框架,只支持iframe框架 新增的API Canvas...但是在Web Workers中执行的脚本不能访问该页面的window对象,也就是Web Workers不能直接访问Web页面和DOM API。...因此你可以通过 DOM 来操作它,就像操作其他的元素。...记住,clip-path 属性还没有在 IE 或者 Edge 下被完全支持。如果要在你的 clip-path 中使用外部的 SVG 文件,浏览器支持度还要更低。...虽然我们的元素自身不再显示,它也依然占据本该占据的矩形大小,它周围的元素的行为就如同它可见时一样。记住用户交互例如鼠标悬停或者点击在剪裁区域之外也不可能生效。

    1.2K30

    【Html.js——功能实现】分享点滴(蓝桥杯真题-18555)【合集】

    在浏览器中预览 index.html 页面效果如下: 目标效果 请在 js/index.js 文件中的 TODO 部分,完善 appendParamsToURL 函数,实现以下目标: 将函数参数 params...在我们课程中为大家提供的是 VS Code 在线环境,接下来给大家讲一讲如何使用我们线上的 VS Code 吧!...box-sizing: border-box; 使元素的宽度和高度包含内边距和边框,但不包含外边距,这样在设置元素大小时更容易控制。 2....display: flex;、justify-content: center; 和 align-items: center; 使页面主体内容在水平和垂直方向上都居中显示。 3....CSS 解析:浏览器读取 CSS 文件,构建 CSSOM 树,根据 CSS 规则为 DOM 树中的元素添加样式,如设置页面背景颜色、文章样式、操作图标样式和分享对话框样式等。

    2.5K10

    SVG学习笔记,持续记录。

    SVG 是万维网联盟的标准 SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体 浏览器会把SVG标记和样式转换成一个文档对象模型( document object model,DOM)...DOM可以通过JavaScript进行操作。针对XML内容的DOM的所有核心方法同样适用,所以我们可以创建和重排元素,获取和设置属性的值,查询计算后的样式的值。...“后来居上”,越后面的元素越可见。...1.viewBox 用于在实际的svg上截取一小块,放大到整个svg显示,属性的值有四个数字,分别是左上角的横坐标和纵坐标、视口的宽度和高度。...当SVG文档被渲染的时候,这2个元素不会被渲染到图形中。这个2个元素之间差别不是太大,title在有些实现中是作为提示信息出现的,所以通常title是放到父元素的第一个位置上。

    3.9K40

    手把手教你实现前端惰性加载

    从需求出发: 在实际的项目开发中,我遇到了一个这样的需求:一个页面模块有很多列表数据展示,每条数据都带有图片,而首次展示的图片只需要不到10张,那么我们还要一次性把所有图片都加载出来吗?.../img/img5.png" src="image-placeholder-logo.svg">     src属性统一用一个占位图片,alt属性是在图像无法显示时的替代文本。...返回一个观测实例observe,可以指定观测哪个DOM节点。...IntersectionObserverEntry对象提供了很多有用的属性,比如target是被观察的目标元素,是一个 DOM 节点对象, intersectionRatio是目标元素的可见比例,即DOM...实现下拉无限滚动: 在页面底部有一个loading状态标签。一旦标签可见,就表示用户到达了页面底部,从而加载新的条目放在标签的前面。

    1.4K10

    JavaScript进行数据可视化:D3.js入门

    D3.js的核心是SVG(可缩放矢量图形),它允许开发者创建高质量的矢量图形。D3.js的特点数据绑定:D3.js允许将数据绑定到DOM元素上,这使得数据与视觉元素保持同步。...动态DOM更新:D3.js能够根据数据的变化动态地更新DOM结构,无需重新加载页面。丰富的可视化元素:D3.js支持多种图表类型,如条形图、散点图、饼图、树状图等。...然后,通过npm创建一个新的项目并安装D3.js:mkdir d3-examplecd d3-examplenpm init -ynpm install d3创建SVG元素在HTML文件中创建一个SVG...width="500" height="300">svg> 编写D3.js代码在app.js文件中,编写D3...通过调整data数组中的数据,您可以看到图表的动态变化。D3.js进阶功能D3.js提供了丰富的功能和高级特性,包括但不限于:数据驱动DOM更新:D3.js允许根据数据的变化动态更新DOM元素。

    6.2K10

    深入了解 CSS 变量,让 CSS 创造更多可能!

    CSS 变量带来的提升: 使得开发和维护成本更低了,如让整个网站的换肤变得更容易; 改变了在图形交互效果的实现中 JavaScript 的占据比重,使得开发门槛降低了,体验升级; 使自定义语法的扩展成为可能...Shadow DOM 中的元素也能继承 Shadow DOM 中的 CSS 样式拥有自己独立的作用域。自定义属性是目前为数不多可以直接控制 Shadow DOM 样式的入口。...@media (max-width: var(--maxWidth)) 自定义属性的设置与获取 在 HTML 标签中设置 CSS 自定义属性 ... 在 JavaScript 中设置和获取 CSS 自定义属性 box.style.setProperty...一个计数器本身没有可见的效果,而是通过 counter() 函数返回开发人员定义的字符串(或图像)从而使计数器拥有很棒的作用。

    56330

    前端-动画大乱炖

    (毫秒); 丢帧:在帧率固定的动画中,某一帧的时长远高于平均帧时长,导致其后续数帧被挤压而丢失的现象; 我们在显示器上看到的动画,每一帧变化都是系统绘制出来的(GPU或者CPU)。...DOM操作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随显示器的刷新频率(60 Hz或者75 Hz); 在隐藏或不可见的元素中,将不会进行重绘或回流,这当然就意味着更少的的cpu...DEMO传送门:https://jsfiddle.net/gaogy/wwaejvLn/ Transition CSS 中的 transition 属性允许块级元素中的属性在指定的时间内平滑的改变,简单看下其语法规则...下面主要是介绍SVG中的几个用于动画的元素,它们分别是: :通常放置到一个SVG图像元素里面,用来定义这个图像元素的某个属性的动画变化过程;  :元素也是放置一个图像元素里面...让图像元素按这个轨迹运动; DEMO传送门:https://jsfiddle.net/gaogy/ac4avoqk/ WebGL WebGL使得网页在支持HTML 标签的浏览器中

    1.5K20

    前端动画大乱炖

    )或赫兹(Hz); 帧时长:即每一幅静止画面的停留时间,单位一般是ms(毫秒); 丢帧:在帧率固定的动画中,某一帧的时长远高于平均帧时长,导致其后续数帧被挤压而丢失的现象; 我们在显示器上看到的动画...DOM操作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随显示器的刷新频率(60 Hz或者75 Hz); 在隐藏或不可见的元素中,将不会进行重绘或回流,这当然就意味着更少的的cpu,...DEMO传送门 Transition CSS 中的 transition 属性允许块级元素中的属性在指定的时间内平滑的改变,简单看下其语法规则: transition: property duration...下面主要是介绍SVG中的几个用于动画的元素,它们分别是: :通常放置到一个SVG图像元素里面,用来定义这个图像元素的某个属性的动画变化过程; :元素也是放置一个图像元素里面...让图像元素按这个轨迹运动; DEMO传送门 WebGL WebGL使得网页在支持HTML 标签的浏览器中,不需要安装任何插件,便可以使用基于 OpenGL ES 2.0

    1.9K20

    vue条件渲染

    这个指令用于在DOM中插入或删除元素,基于一个表达式的结果来决定元素是否应该显示。如果表达式的结果为真,则元素会被渲染;如果结果为假,则元素会被从DOM中移除。...v-show指令也根据一个表达式的结果来决定元素的显示与隐藏,但是它不会将元素从DOM中移除,而是使用CSS的display属性来控制元素的可见性。...如果showMessage的值为真,那么元素将会显示;如果值为假,元素将会隐藏,但不会从DOM中移除。...v-if是“真正”的条件渲染,它会根据条件在DOM中插入或移除元素。而v-show只是控制元素的可见性,使用CSS的display属性来隐藏或显示元素。...而v-show则适用于需要频繁切换可见性的情况,因为它只是使用CSS来控制元素的显示与隐藏,不会涉及DOM的插入与移除。

    1.4K00

    2024全网最全面及最新且最为详细的网络安全技巧 七之 XSS漏洞典例分析POC以及 如何防御和修复(4)———— 作者:LJS

    ECMAScript 5 澄清了应该使用 10 (十进制),但不是所有的浏览器都支持。因此,在使用 parseInt 时,一定要指定一个 radix。...在外部内容中,标记的解析方式与普通 HTML 不同。这可以在解析元素时清楚地显示出来。 在 HTML 命名空间中,只能包含文本;没有后代,并且不解码 HTML 实体。...考虑以下标记: ABCsvg>ABC 它被解析为以下 DOM 树: 注意:从现在开始,这篇文章中 DOM 树中的所有元素都将包含一个命名空间。...它生成以下 DOM 树: 这个 DOM 树是无害的。所有元素都在 DOMPurify 的允许列表中。请注意,这mglyph是在 HTML 命名空间中。...,最内层的svg先触发,然后再到下一层,而且是在DOM树构建完成以前就触发了相关事件;最外层的svg则得等到DOM树构建完成才能触发。

    76810

    html2canvas 完全实战指南:基于 DOM 的浏览器端截图方案

    5.3onclone:DOM预处理神器5.4useCORS与allowTaint:跨域图像处理5.5foreignObjectRendering:SVG渲染模式5.6scrollXscrollYwindowWidth...:scale()导致文字重叠9.6SVG图标通过引用时不显示9.7字体加载失败导致文字错位9.8TailwindCSSv4oklch()颜色解析失败9.9阿拉伯语/希伯来语等RTL文字渲染错乱...三、html2canvas的工作原理html2canvas的工作机制并非传统意义上的截图,而是一个DOM遍历与重建过程:DOM遍历:脚本遍历当前页面加载的DOM树,收集所有元素及其应用样式;信息提取:读取元素的样式属性...将页面中的海报DOM区域转换为图片,供用户长按保存或分享。...、背景图等素材需确保跨域可访问,或配置useCORS:true;若海报在页面上默认隐藏(如display:none),需在onclone回调中将其设为可见。

    39110
    领券