首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

offsetWidth,clientWidth的区别

偏移量 offsetWidth 元素在水平方向上占用的空间大小 包括元素的宽度、可见的垂直滚动条宽度、左边框高度和右边框高度...offsetWidth=width+padding+border offsetHeight 元素在垂直方向上占用的空间大小 包括元素的高度、可见的水平滚动条宽度、上边框高度和下边框高度...offsetHeight=height+padding+border offsetLeft 元素的左外边框至包含元素的左内边框之间的像素距离 offsetTop 元素的上外边框至包含元素的上内边框之间的像素距离...,scrollTop 滚动大小 scrollWidth:没有滚动条的情况下,元素内容的总宽度; scrollHeight:没有滚动条的情况下,元素内容的总高度; scrollLeft...; 网页可见区域宽: document.body.offsetWidth (包括边线的宽); 网页可见区域高: document.body.offsetHeight (包括边线的宽); 网页正文全文宽

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

    scrollWidth,clientWidth,offsetWidth的区别

    offsetWidth 是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变。...);”> offsetWidth的值总是比clientWidth的值打 clientWidth是对象看到的宽度(不含边线) offsetWidth...而设置了scrollTop值为12后,滑块的位置改变了,默认显示是卷过了12个象素的文本。如果设置overflow为hidden,则将会无法显示顶部12个象素的文本。...因为已经指定了元素的height为100px,所以offsetHeight始终为100px;内部元素为250px,而容器元素只有100px,那么还有150px的内容它无法显示出来,但它却是实际存在的,所以...,则 IE为: document.documentElement.clientWidth ==> 0 document.documentElement.clientHeight ==> 0 FireFox

    2.2K20

    Angular开发实践(七): 跨平台操作DOM及渲染器Renderer2

    在《Angular开发实践(六):服务端渲染》这篇文章的最后,我们也提到了在服务端渲染中需要牢记的几件事件,其中就包括不要使用window、 document、 navigator等浏览器特有的类型以及直接操作...通过合适的方法,使用 Angular 构建的应用,可复用在多种不同平台的应用上 —— Web、移动 Web、移动应用、原生应用和桌面原生应用。...:' + this.demoDiv.nativeElement.id); // DIV的id:demoDiv this.renderer.setStyle(this.demoDiv.nativeElement...:' + this.demoDiv.nativeElement.id); // DIV的id:demoDiv } 在组件类中,我们通过 @ViewChild 获取到包装有 div 的 DOM 对象的 ElementRef...ngAfterViewInit 中通过 this.demoDiv.nativeElement 获取到该 div 的 DOM 对象,然后获取元素的id。

    2.6K90

    Angular ElementRef 简介

    any> { public nativeElement: T; constructor(nativeElement: T) { this.nativeElement = nativeElement...首先我们要先获取 div 元素,在文中 “ElementRef 的作用” 部分,我们已经提到可以利用 Angular 提供的强大的依赖注入特性,获取封装后的 native 元素。...没有抛出异常,我们可以推断 this.elementRef.nativeElement 这个对象是存在,但却找不到它的子元素,那应该是在调用构造函数的时候,my-app 元素下的子元素还未创建。...let divEle = this.elementRef.nativeElement.querySelector('div'); console.dir(divEle); }, 0);...其实在 Angular 框架内部已经为我们提供了解决方案,它为我们提供了内置的装饰器,如 @ContentChild、 @ContentChildren、@ViewChild、@ViewChildren

    1.7K60

    Seam Carving demo

    幸运的是作者提供了源码和算法原理的讲解。算法原理很简单,简单浏览一下就可以明白。 从github上clone了源码,作者原来是用React写的,我把他改成了angular,同样实现了最基本的功能。...下面写一下改写的过程: 首先明确下我们需要实现的最基本的功能: 1.图片上传。 2.根据输入的长宽缩放比例,对图片进行压缩。...}; 通过 实现上传文件,通过imageSrc绑定的Src,值得注意的是URL.createObjectURL(files[0])可能会导致跨域问题...ctx) { return; } ctx.putImageData(img, 0, 0, 0, 0, w, h); this.energyMap...; top: -35px; opacity: 0%; cursor: pointer; } 最后看下实现的效果对比: 微信截图_20210527224912.png 可以看出缩放后的图像还是比较一致的

    2.3K30

    Angular 2 + 折腾记 :(9) 初步了解指令,及动手一步一步写个自定义指令

    ---- 实现的功能 判断传入的内容是否为url 创建一个悬浮tooltip 把对应的内容填充进去且可以访问跳转 ---- 实现的指令代码 import { Directive, // 创建一个指令必须依赖这个装饰器...ElementRef, // 获取原生dom的 Input, // 接收外部数据的 Renderer2, // 渲染相关的(v4+),angular2.x 用的是Renderer(v4里面依旧标记不赞成...deprecate),两者大同小异,具体看手册API的变动 HostListener, // 监听事件 } from '@angular/core'; @Directive({ selector...(this.el.nativeElement, this.div); // 设置div相关的样式 this.r2.setStyle(this.div, 'position', 'absolute...this.r2.setStyle(this.div, 'cursor', 'pointer'); this.r2.setStyle(this.div, 'background-color', 'rgba(0,0,0

    46410

    Oracle中ascii为0的陷阱

    ,快来pick你喜欢的嘉宾主题吧! 一、概述 ascii0是个空字符,如果将这个字符插入到oracle数据库中会是什么现象,是null吗?..., ‘ascii0’); --插入ascii为0的字符 查测试表,可以看到第2列似乎都是空的 SQL> select * from test; ID NAME COMM -----...可以看到第4行的第2列跟第3行的第2列的空格一样,都是占了一个字节,而且他的ASCII码为0,那么我们可以通过下面的方式将第4行查出来 SQL> select * from test where name...可以看到通过工具导出来的时候,第4行的第2列会直接转换成null 三、总结 ascii为0插入到oracle中,并不是null,它占用一个字节,要查询出来只能用=chr(0) 尽量别插入ascii为0...后面经过仔细分析,才发现原来是chr(0)在搞鬼,通过工具导出chr(0)的时候,它会自动转换成null,然而数据库中chr(0)并不是null,也就是说导出来再导进去的数据已经跟原始表的数据不一样了。

    81620

    Angular ViewChild和ViewChildren

    ViewChild Angular 为我们提供 ViewChild 和 ViewChildren 装饰器来获取模板视图中匹配的元素。ViewChild 是属性装饰器,用来从模板视图中获取匹配的元素。...现在我们先来更新一下 AuthFormComponent 组件(关于它的出身,可以浏览 “Angular 内容投影” 这篇文章),即把下面的消息提示封装为组件。...__: Object 在控制台中展开 nativeElement 属性,你会发现该属性对应的值是原生的 DOM 元素,因此我们可以在 ngAfterViewInit 生命周期钩子中执行某些 DOM 操作...'); this.email.nativeElement.classList.add('email'); this.email.nativeElement.focus(); } 现在虽然我们已经能够正确获取原生的...为了能够支持跨平台,Angular 通过抽象层封装了不同平台的差异,统一了 API 接口。如定义了抽象类 Renderer2 、抽象类 RootRenderer 等。

    2.7K20

    ionic3应该善用组件和指令

    ionic3开发框架是angular4,所以了解一下angular4的一些基础知识,能让你更好的开发应用。...在angular1时代,组件和指令是一回事,即严格来说,没有组件这概念,只有指令,而到了angular2时代,虽说组件仍是一种特殊的指令,但已经有一定目的明显区分开来,分别用Directive和Component...来标识,用cli生成命令就如下所示: ionic g directive 指令名 ionic g component 组件名 要说指令和组件的区别,简单说是不带视图和带视图的区别,直观效果是:一个为原有标签动态添加功能...,另一个为新建自定义功能标签,详细上有不少细节上的不同。...上述指令是一个很简单的指令,且很不灵活,因为颜色写死为red了,实际上我们使用场景应该支持多种颜色。

    3.5K40
    领券