窗体大小

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight
网页可见区域宽:document.body.offsetWidth (包括边线的宽)
网页可见区域高:document.body.offsetHeight (包括边线的宽)
网页正文全文宽:document.body.scrollWidth
网页正文全文高:document.body.scrollHeight
网页被卷去的高:document.body.scrollTop
网页被卷去的左:document.body.scrollLeft
网页正文部分上:window.screenTop
网页正文部分左:window.screenLeft
屏幕分辨率的高:window.screen.height
屏幕分辨率的宽:window.screen.width
屏幕可用工作区高度:window.screen.availHeight
屏幕可用工作区宽度:window.screen.availWidth

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX 相对文档的水平座标
event.clientY 相对文档的垂直座标
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
document.documentElement.scrollTop 垂直方向滚动的值
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量


IE,FireFox 差异如下:

IE6.0、FF1.06+:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

IE5.0/5.5:
clientWidth = width - border

clientHeight = height - border

offsetWidth = width

offsetHeight = height

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth

-------------------

技术要点
本节代码主要使用了Document对象关于窗口的一些属性,这些属性的主要功能和用法如下。

要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在 IE下需要深入Document内部对body进行检测;在DOM环境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。

Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度。

Document对象的body属性对应HTML文档的标签。Document对象的documentElement属性则表示HTML文档的根节点。

document.body.clientHeight表示HTML文档所在窗口的当前高度。document.body. clientWidth表示HTML文档所在窗口的当前宽度。

实现代码

1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        17
                        18
                        19
                        20
                        21
                        22
                        23
                        24
                        25
                        26
                        27
                        28
                        29
                        30
                        31
                        32
                        33
                        34
                        35
                        36
                        37
                        38
                        39
                        40
                        41
                        42
                        43
                        44
                        45
                        46
                        47
                        48
 < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                        <html xmlns="http://www.w3.org/1999/xhtml">
                        <head>
                        <title>请调整浏览器窗口</title>
                        <meta http-equiv="content-type" content="text/html; charset=gb2312">
                        </meta></head>
                        <body>
                        <h2 align="center">请调整浏览器窗口大小</h2><hr />
                        <form action="#" method="get" name="form1" id="form1">
                        <!--显示浏览器窗口的实际尺寸-->
                        浏览器窗口 的 实际高度: <input type="text" name="availHeight" size="4"/><br />
                        浏览器窗口 的 实际宽度: <input type="text" name="availWidth" size="4"/><br />
                        </form>
                        <script type="text/javascript">
                        <!-- 
                        var winWidth = 0;
                        var winHeight = 0;
                        function findDimensions() //函数:获取尺寸
                        {
                        //获取窗口宽度
                        if (window.innerWidth)
                        winWidth = window.innerWidth;
                        else if ((document.body) && (document.body.clientWidth))
                        winWidth = document.body.clientWidth;
                        //获取窗口高度
                        if (window.innerHeight)
                        winHeight = window.innerHeight;
                        else if ((document.body) && (document.body.clientHeight))
                        winHeight = document.body.clientHeight;
                        //通过深入Document内部对body进行检测,获取窗口大小
                        if (document.documentElement  && document.documentElement.clientHeight && document.documentElement.clientWidth)
                        {
                        winHeight = document.documentElement.clientHeight;
                        winWidth = document.documentElement.clientWidth;
                        }
                        //结果输出至两个文本框
                        document.form1.availHeight.value= winHeight;
                        document.form1.availWidth.value= winWidth;
                        }
                        findDimensions();
                        //调用函数,获取数值
                        window.onresize=findDimensions;
                        
                        //-->
                        </script>
                        </body>
                        </html>
 

源程序解读

(1)程序首先建立一个表单,包含两个文本框,用于显示窗口当前的宽度和高度,并且,其数值会随窗口大小的改变而变化。

(2)在随后的JavaScript代码中,首先定义了两个变量winWidth和winHeight,用于保存窗口的高度值和宽度值。

(3)然后,在函数findDimensions ( )中,使用window.innerHeight和window.innerWidth得到窗口的高度和宽度,并将二者保存在前述两个变量中。

(4)再通过深入Document内部对body进行检测,获取窗口大小,并存储在前述两个变量中。

(5)在函数的最后,通过按名称访问表单元素,结果输出至两个文本框。

(6)在JavaScript代码的最后,通过调用findDimensions ( )函数,完成整个操作。

 

窗体控件随窗体大小改变(包括字体大小) 文章参考:http://blog.youkuaiyun.com/loveme1204/archive/2007/12/24/1964577.aspx是一篇vb编写的,我只是把它翻译成c#的.其实Anchor和Dock属性也可以实现,但好象只对容器效果理想,而且字体大小也没有变化.最近论坛上有好多这样的贴子,具体实现代码如下: private void setTag(Control 阅读详情

相关推荐

MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化

MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化

zjtchow的专栏 6616

c# 设置窗体的大小

1.限制窗体的大小 知识点 (1)Width属性:用于获取和设置窗体的宽度 (2)Height属性:用于获取和设置窗体的高度 (3)FormBorderStyle属性:用于获取和设置窗体的边框样式   None:无边框 FixedSingle:固定的单行边框 Fixed3D:固定的三维边框 FixedDialog:固定的对话框样式的粗边框 Sizable:可调整大小的边框 F...

qq_29176825的博客 4万+

winform 窗体自适应大小

在WinForms应用程序中,窗体(Form)的大小可以通过多种方式进行自适应调整。可以使得窗体根据其内容的大小自动调整大小。但请注意,这可能会导致布局问题,因为控件可能会重叠。等布局控件可以更好地管理控件的布局,它们可以自动调整大小和位置。事件中,你可以编写代码来根据内容调整窗体大小。属性,可以为控件提供额外的空间,从而影响窗体的大小。属性允许你控制窗体如何根据系统的DPI设置自动缩放。事件,并在该事件中根据需要调整控件的大小和位置。属性提供了更细粒度的控制。: 你可以在代码中监听窗体的。

3723

让无边框winform窗体可以拖动窗体大小

对美观程度要求比较高的项目都会把winform的边框隐藏掉然后重写一个边框。这样问题就来了,把winform的边框隐藏后,用户就无法改变窗体大小,也无法拖动窗体位置。经过摸索,最终解决了这些问题,以下代码可以解决用户无法改变窗体大小的问题。 public class BaseForm : Form { const int HTLEFT = 10; ...

任玉腾的博客 3244

别再手动折腾了!PICO Unity SDK 一键配置开发环境保姆级教程(含PDC串流调试)

本文详细介绍了PICO Unity SDK的一键配置功能,帮助开发者快速搭建VR开发环境。通过自动化配置流程,大幅减少手动设置时间,提升开发效率。文章还涵盖了PDC串流调试技巧和常见问题解决方案,是PICO VR开发的实用指南。

weixin_30335575的博客 450

数字IC设计避坑指南:为什么477条net的DRV问题无法修复?解析don‘t touch hierarchy的影响

本文深入解析了数字IC后端实现中,因“don't touch hierarchy”约束导致大量DRV违规(如477条net)无法自动修复的根本原因。文章以Cadence Innovus工具为例,详细阐述了DRV修复机制与设计保护约束的冲突原理,并提供了从日志定位、风险评估到分级解除约束的完整实战策略,帮助工程师有效解决此类设计收敛难题。

hope8的博客 290

WPF窗体的初始化位置和大小

开发工具与关键技术: 窗体的初始化位置和大小 作者:邓崇富 撰写时间:2019 年 7 月7 日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 设置窗体关闭时记录下当时窗体的大小和位置,在第二次打开窗体时,窗体将会显示在上次窗体关闭时的位置和大小。或者是第一次在一...

weixin_44548405的博客 7756

FastApi教程

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

小石潭记丶 1561

C# Winform移动窗体、改变窗体大小

Winform,拖拽改变窗体大小,自定义改变窗体

weiwei_y的博客 5976

实战演练,如何用Easyexcel合并单元格,设置字体、边框样式,并在尾行加入备注

,实现效果如下:1、多级表头合并2、表头底纹+表格边框3、合并相同数据单元格4、尾行加入备注。

Su7148的博客 1万+

【UE5】UE5 Dedicated Server专用服务器与网络同步

这篇文章是个人在学习UE4的网络同步方面的内容的一些记录,因为UE5出来了,顺带也一起熟悉熟悉UE5,所以也就直接使用UE5来实践了。说句实在话,UE4网络同步这块确实挺难的,我自己在网上搜索的博客的内容要么停留在很浅层面只搭建一个ds服务器,要么就直接深入源码去剖析UE4的网络机制,处在中间层面的内容少之又少,不得不自己好一阵研究,强烈推荐这几位博主的博文,我在学习的过程中也从中受益匪浅。 Ken_An、风蚀之月、 刘东无敌还有我师傅推荐给我的一本关于UE4网络的PDF。 一、什么是Dedicated

Goulandis 3万+

窗体控件大小随窗体大小变化而变化

有时窗体变化后,如改变分辨率后控件大小却不能随之改变。手工代码调整实在麻烦,下面的模块实现自动查找窗体上控件并使其改变大小以适应窗体变化。 在Form的Resize事件中调用函数Resize_All就能实现控件自动调整大小,如: Private Sub Form_Resize() Dim H, i As Integer On Error Resume Next Resize_AL

400

Android 白名单保活实战:主流厂商适配指南

本文详细解析了Android应用白名单保活的实战策略,重点针对华为、小米、OPPO、vivo等主流厂商的系统特性,提供了精准的后台设置页面跳转适配方案。文章从基础的前台服务实现讲起,深入讲解了白名单的判断、申请与厂商适配的核心代码与避坑指南,旨在帮助开发者合规、稳定地提升应用后台存活率。

motor的博客 1861

C#_窗体加载大小及位置

C#_chart图表chart图表的作用新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 chart图表的作用 ...

liuchao315的博客 1963

【AI Guide】AI面试攻略只用看这一篇就够了!力争做全网最全的AI面试攻略——大模型(五)Adapter 微调

Adapter 微调(Adapter Fine-tuning)是一种高效的参数高效微调(PEFT)方法。相较于全参数微调(Full Fine-tuning),Adapter 在预训练模型的特定层插入轻量级的可训练模块,而冻结原始模型参数,从而减少计算和存储开销。是缩放因子,控制 Adapter 输出的影响程度。设 Transformer 层的隐藏状态为。为 Adapter 层的可训练参数,为非线性激活函数,如 ReLU。为冻结的预训练模型参数,

AI科研社 183

【深度学习】什么是交叉注意力机制?

输入序列:自注意力机制在同一个输入序列内建立注意力,交叉注意力机制在不同的输入序列间建立注意力。应用场景:自注意力机制多用于单一模态的任务(如纯文本任务),交叉注意力机制多用于多模态任务(如图像和文本的结合)。计算过程:自注意力机制的查询、键和值都来自同一个输入序列,而交叉注意力机制的查询来自一个输入序列,键和值来自另一个输入序列。

q742971636的博客 7370

C# WinFrom控件大小随窗体大小等比例变化

先定义两个变量 X,Y private float X;//当前窗体的宽度 private float Y;//当前窗体的高度 添加两个方法 ①控件的宽,高,左边距,顶边距和字体大小暂存到tag属性中 /// <summary> /// 将控件的宽,高,左边距,顶边距和字体大小暂存到tag属性中 /// </summary...

刘德华的博客 1479

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

electron 改变窗体大小

相关链接: electron-vue 集成 element-ui 在开发 electron 的时候遇到了需要在 render 中修改 BrowserWindow 窗口大小的方式,经过一番尝试,有两种方法实现: 通过 ipcRenderer 与 ipcMain 的通讯来实现 通过 render 的 remote 模块来实现 ipcRenderer 和 ipcMain 实现 实现原理是 rende...

一二三四吾 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Winform窗体中的控件大小随窗体的大小改变而改变

Winform窗体中的控件大小随窗体的大小改变而改变

m0_55062476的博客 561

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C#无边框窗体调整大小的方法

#region 窗体大小调整的方法         public bool isMouseDown = false;               ///         /// 调整大小时,鼠标感应的边框宽度         ///         private int ResizeBorderWidth = 6;         ///         /// 位置类型

i00500i的专栏 2323

无边框窗体拖动大小

     今天有一个朋友问我怎样可以拖拽一个没有边框的窗体,使其改变大小。于是很快想到一个消息WM_NCHITTEST该消息用来描述,当关标移动或当按下或当释放了鼠标按扭的时候,就会发送一个WM_NCHITTEST消息给一个窗口若鼠标未被捕获,则这条消息发送给光标所在的窗口。否则,这条消息公布给捕获鼠标的窗口。参数   xPos = LOWORD(Lparam);//LParam低位字的值。指出光

不得闲.闲忆居 5423

winform窗体大小不能通过鼠标拖拽调整大小,窗体上的控件也无法调整大小和移动?

记录一下自己给自己的挖的坑: winform窗体大小不能通过鼠标拖拽调整大小了,窗体上的控件也无法调整大小和移动?将窗体(或控件)的MaxinumSize 和 MinimumSize设置为(0,0),即可随意拖拉窗体(或控件)的大小了设置成一样的大小,导致窗体无法使用鼠标拖拽改变大小。如果其中某一个属性设置了固定大小,那么使用鼠标拖拉的时候也会有一定的限制的。,导致窗体(或控件)无法使用鼠标拖拽改变大小, 此时控件的位置也无法移动了。即可随意拖拉窗体(或控件)的大小和位置了。

weixin_40314351的博客 7553

根据桌面大小调整窗体大小

窗体与桌面的大小比例是软件运行时用户经常会注意到的一个问题。例如,在1024×768的桌面上,如果放置一个很大(如1280×1024)或者很小(如10×10)的正方形窗体,会显得非常不协调,正是基于以上这种情况,所以大部分软件的窗体界面都是根据桌面的大小进行自动调整的,本实例就实现这样的功能。...

chinashboy2015的博客 264

写一个可继承的窗体,其中的控件大小可随窗体大小而变化,让其他窗体继承这个窗体

///     ///   可以根据窗体的大小变化 而自动调整 其中的控件大小 的 窗体     ///     public partial class changableForm : Form     {         public  void InitializeComponent()         {            // this.Load += new Sy

gaoleionline的专栏 513

C#拖动窗体/双击最大化/改变大小(无边框窗体)

[DllImport("user32.dll")]//命名空间System.Runtime.InteropServices; public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMess...

naruto2017的博客 3745

C#实现窗体控件随窗体大小改变(包括字体大小)

 其实Anchor和Dock属性也可以实现,但好象只对容器效果理想,而且字体大小也没有变化.最近论坛上有好多这样的贴子,具体实现代码如下: private void setTag(Control cons) { foreach (Control con in cons.Controls) {

C#,SQL,Castle,Hibernate,MVC,Spring.net 5769
上一篇: 闭包小例
下一篇: jsxiaoguo
wfdoublext
博客等级 码龄19年 5粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值