提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:郑恭琳|2015-09-17 09:59:28.000|阅读 119 次
概述:本文罗列一些响应式网页开发中的一些常见陷阱,并指定了对应的解决方案,希望可以帮助你节省开发时间。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
想象这样的场景: 你刚刚创建了一个杰出的响应式设计,然后准备在移动设备中测试一下。在你意想不到的地方产生了一些问题,文字乱糟糟的,动画波涛汹涌,表单没有呈现你设计的样式。然后花费N多时间修复这些问题,你可能抓狂地把电脑扔出窗外砸中邻居家的猫。
好消息是,我准备在本篇文章里介绍这些可能令你抓狂的问题,并讲解相应的解决方案。主要包括以下五个问题:
ios设备的旋转将破坏布局、改变页面中的文字大小,当元素(例如导航条、菜单等)设置为固定定位时经常产生类似的问题,只有刷新页面才可以修复问题。幸运的是,有一个方法可以防患于未然。
在你的css中添加如下代码:
html {
/* 防止横屏时的文字缩放 */
-webkit-text-size-adjust: 100%;
}
该代码设置横屏时文字的缩放为100%,从而防止意外的文字改变发生。
平板或移动设备经常调用默认样式搞糟您的表单样式,我们可以使用如下的css代码阻止表单的默认样式。
input[type=text], button, select, textarea{
-webkit-appearance: none;
-moz-appearance: none;
border-radius: 0px;
}
你可以根据需要选择重置的表单,例如将input[type=text]
改变为input
会选择所有类型的input。
如果你使用基于浏览器的移动仿真器进行测试,有时会产生一些烦人的问题。在你代码没有问题的情况下抛出一个问题,令人纠结。
例如,有一次正在开发中的页面底部的导航条莫名其妙的消失了,正当我准备查找问题原因时,我发现Chrome模拟器的视窗底部被切掉一部分,当我在新tab中打开页面,然后切换移动视图刷新之后就解决了问题。
遇到类似的问题,最为重要的是,要保证你的代码没问题仅仅是模拟器的问题。你可以尝试隔离问题区域看看代码是否正常工作,然后在真正的移动设备上测试一下。
如果你在移动设备上使用动画,请一定要尤其注意动画的性能问题。一般来说,浏览器能够有效的动画以下属性translate、scale、rotate和 opacity
等,例如下面的案例。
transform: translate(15px, 40px); /* shift left 15px and down 40px */
transform: scale(2); /* scale to 2 times original size */
transform: rotate(30deg); /* rotate 30 degrees */
opacity: 0.5; /* set opacity at 0.5 */
这些属性动画性能良好的原因是,这些属性位于浏览器渲染器的顶层。你可以把一个网页看成一个餐桌,动画这些属性就类似于移动一个调羹,动画底层属性类似于移动整个餐桌布,你需要同时移动上面的所有覆盖物,所以更加费劲一些(性能就会差一点)。
为了最大化的支持你的动画,你可能需要加浏览器前缀(verdor prefix)。
另外注意,盒阴影(box-shadow)有时会影响动画性能,所以强烈建议使用盒阴影时注意移动设备的测试。
触摸事件的坐标注册问题也比较微妙,因为坐标在不同设备中存储区域不同。一些设备(例如ios)的触摸坐标和单击坐标相同,而另一些(例如android)设备则不同。好消息是,在任何移动设备中都可以通过特定的触摸事件数据(touch event data)获取坐标。
对于触摸事件来说,使用e.touches[0].pageX
而非e.pageX
获取触摸点的x坐标,获取y坐标也是类似的道理。下面是一些可能实际应用的代码。
/* event */
document.onclick = function(e){
var x = e.pageX; // get x coordinate of click
var y = e.pageY; // get y coordinate of click
console.log('x = ' + x + ', y = ' + y); // show coordinates in console
}
/* for touch event */
document.ontouchstart = function(e){
var x = e.touches[0].pageX; // get x coordinate of touch
var y = e.touches[0].pageY; // get y coordinate of touch
console.log('x = ' + x + ', y = ' + y); // show coordinates in console
}
大家不妨模拟器里测试下上面的代码。
本文罗列一些响应式网页开发中的一些常见陷阱,并指定了对应的解决方案,希望可以帮助你节省开发时间。
转载自
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢