界面的自适应方法

1.@media

@media (min-width: 1680px) {
    html{
        font-size: 32px;
    }
}
@media (min-width: 1600px) and (max-width: 1680px){
    html{
        font-size: 28px;
    }
}
@media (min-width: 1440px) and (max-width: 1600px){
    html{
        font-size: 26.67px;
    }
}

使用这种方式来规定根元素的字体在不同分辨率下的大小,规定元素尺寸时用rem可以做到自适应。
但是Chrome浏览器的最小字号就是12px,在实际中还会面临着各种各样的问题。
基本上使用的时候会去做各种尺寸的一些的微调。

2.css scale

首先是在css的部分:

#maindiv{
	min-width: auto;
	width: 1920px;
	min-height: auto;
	height: 1080px;   //    937px;
	transform-origin: 0 0;   //设置基点
	display: grid;
}

然后是js的部分:

if(document.documentElement.clientHeight>1010){
   document.getElementById("main").style.height=document.documentElement.clientHeight+"px";
   var heightsize=1;
   var widthsize=(document.documentElement.clientWidth/1920).toFixed(6);
   document.getElementById("main").style.transform='scale('+widthsize+','+heightsize+')';
}else{
   document.getElementById("main").style.height="937px";
   var heightsize1=(document.documentElement.clientHeight/937).toFixed(6);
   var widthsize1=(document.documentElement.clientWidth/1920).toFixed(6);
   document.getElementById("main").style.transform='scale('+widthsize1+','+heightsize1+')';
}
window.onresize = ()=>{
   if(document.documentElement.clientHeight>1010){
       document.getElementById("main").style.height=document.documentElement.clientHeight+"px";
       var heightsize=1;
       var widthsize=(document.documentElement.clientWidth/1920).toFixed(6);
       document.getElementById("main").style.transform='scale('+widthsize+','+heightsize+')';
   }else{
       document.getElementById("main").style.height="937px";
       var heightsize1=(document.documentElement.clientHeight/937).toFixed(6);
       var widthsize1=(document.documentElement.clientWidth/1920).toFixed(6);
       document.getElementById("main").style.transform='scale('+widthsize1+','+heightsize1+')';
    }
}	

基本是就是判断当前的尺寸,然后根据这个尺寸比例进行调整。
第一行是为了配合全屏。
之所以不写1080,是因为我发现我另一台电脑的屏幕并不是1080的……看了看居然是1060的(%。?。%)
这个方案比起第一种来说,确实要方便不少。
但是某些情况下,还是需要去刷新才能自适应。
比如,如果你的页面中引用了一些别人的东西,别人把检测尺寸变化给关掉了。
还有就是如果尺寸不合适,会出现变形导致违和感。

然而最后还是用了第二种,确实方便不少。

(菜鸟一枚,欢迎指正。(%^-^%))

在WinForm程序中,实现界面自适应可以提高用户体验和程序的可用性。以下是一些实现界面自适应方法: 1. 使用布局控件:WinForm提供了各种布局控件,如TableLayoutPanel、FlowLayoutPanel和DockPanel等,可以帮助我们自动调整控件的大小和位置。通过将控件放置在合适的布局控件中,并设置合适的属性,可以实现界面自适应。 2. 使用锚定和停靠属性:WinForm中的控件可以通过设置锚定和停靠属性来实现自适应。锚定属性可以确保一个控件相对于其容器边界或其他控件的位置保持不变,而停靠属性可以使一个控件相对于其容器边界靠边显示。通过正确设置锚定和停靠属性,可以使控件在窗口大小发生变化时自动调整。 3. 响应窗口大小改变事件:WinForm中的窗口有一个大小改变事件,我们可以在此事件中根据窗口的新大小来调整控件的大小和位置。可以编写代码来计算并设置控件的新大小和位置,从而实现自适应的效果。 4. 使用自定义控件或第三方控件:除了使用WinForm提供的控件,还可以使用自定义控件或第三方控件来实现界面自适应。这些控件通常提供更多的自适应选项和灵活性,可以根据需求进行定制和调整。 总之,在WinForm程序中实现界面自适应需要结合布局控件、锚定和停靠属性、窗口大小改变事件以及自定义控件或第三方控件等方法。通过正确设置和运用这些方法,可以实现一个自适应界面,提升用户的体验和程序的可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值