首页
学习
活动
专区
工具
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 (包括边线宽); 网页正文全文宽

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

scrollWidth,clientWidth,offsetWidth区别

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

2.1K20

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.6K60

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

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

2.6K90

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.2K30

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

43810

Oracle中ascii0陷阱

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

78720

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
领券