前几天做了一个挺简单的页面,顶部banner图,然后下面一段说明文字,再往下是表格。
最开始字体统一1.2em,在设计稿640宽的环境下,页面和设计稿基本一致,挺好看的,但是如果在小屏手机中,因为banner图缩小到屏幕一样宽,就等比缩小了,而文字还是原来那么大,字体就会显得特别大。然后我的处理方式是用css媒体查询,判断在屏幕宽度哪个范围 就用多大的字体。
我移动web开发时间不长,请教下大神,这么做,是否有必要,或者有更好的处理方式?
回复讨论(解决方案)
这个都不太清楚了,因为一般是使用px作为大小单位的。
你可以用rem试试,或许效果更好
没必要
同一楼的一般是使用px作为大小单位
手机页头应该这么写:
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"><meta name="format-detection" content="telephone=no" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta http-equiv="pragma" content="no-cache" />
这事当初折腾了我好长时间
最初我以为js脚本获得的屏幕宽度,就是实际宽度。
但实际上还有个“设备像素比”的东西
http://www.zhangxinxu.com/wordpress/2012/08/window-devicepixelratio/ 设备像素比devicePixelRatio简单介绍
然后我又非常野蛮的把屏幕宽度还原为真实像素,用的这句:
结果是确实还原了,但悲催的是分辨率很高的小屏手机,完全看不清字了。
于是又用css媒体查询写不同的样式表,结果发现这条路越走越死,那么多页面,不同的css完全写不过来。
请教了人,回归老路,写页头的那几行,让手机自动缩放吧。
所有定位改回百分比定位
字体大小和网页一致,比如正文用16px像素,不必根据不同手机的不同分辨率大小,去做媒体查询。
一切安心
一些图片高度有要求时,只定义宽度不定义高度,任其自动缩放。
如果还有特殊要求的,就js等待页面载入后,重新根据宽度计算图片高度。
手机页头应该这么写:
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"><meta name="format-detection" content="telephone=no" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta http-equiv="pragma" content="no-cache" />
这事当初折腾了我好长时间
最初我以为js脚本获得的屏幕宽度,就是实际宽度。
但实际上还有个“设备像素比”的东西
http://www.zhangxinxu.com/wordpress/2012/08/window-devicepixelratio/ 设备像素比devicePixelRatio简单介绍
然后我又非常野蛮的把屏幕宽度还原为真实像素,用的这句:
结果是确实还原了,但悲催的是分辨率很高的小屏手机,完全看不清字了。
于是又用css媒体查询写不同的样式表,结果发现这条路越走越死,那么多页面,不同的css完全写不过来。
请教了人,回归老路,写页头的那几行,让手机自动缩放吧。
所有定位改回百分比定位
字体大小和网页一致,比如正文用16px像素,不必根据不同手机的不同分辨率大小,去做媒体查询。
一切安心
一些图片高度有要求时,只定义宽度不定义高度,任其自动缩放。
如果还有特殊要求的,就js等待页面载入后,重新根据宽度计算图片高度。
感谢你的回答,可能是我表达不是很好,我现在能够正确的设置字体的大小,用到了您说的像素密度设置.但我的问题不是这个
我现在的情况是下图这样
大屏640 :
但是到小屏手机上,如果不动态调整字体大小的话,字体还是那么大,但是因为banner图被压缩得小了,显得字就变大了很多
不知道您这么看待这个问题
所有的尺寸(除%的以外)都以 em 为单位
所有的尺寸(除%的以外)都以 em 为单位
我现在文字是用em,图片100% ;
不明白你的解决方案是?
我觉得不变也OK,如果用户分辨率变了他看得不舒服的也不仅仅是你的网页了,他肯定会调到自己舒服的来看,当他调到自己舒服的时候,你又变了。。。
看体验吧,根据Media Queries去设置不同的显示效果是获得各种屏幕大小下最好体验的一种方式,你只要有时间可以这么做嗯
我现在能够正确的设置字体的大小,用到了您说的像素密度设置.但我的问题不是这个
但是到小屏手机上,如果不动态调整字体大小的话,字体还是那么大,但是因为banner图被压缩得小了,显得字就变大了很多
不知道您这么看待这个问题
特别不协调的页面,用媒体查询改一下字体大小。
或者也可以考虑让美工把小屏手机的图片重做成合适的。
反正我的原则是最小的字体,不论小手机还是大手机,都要看得清。

布尔属性是HTML中的特殊属性,不需要值即可激活。1.布尔属性通过存在与否控制元素行为,如disabled禁用输入框。2.它们的工作原理是浏览器解析时根据属性的存在改变元素行为。3.基本用法是直接添加属性,高级用法可通过JavaScript动态控制。4.常见错误是误以为需要设置值,正确写法应简洁。5.最佳实践是保持代码简洁,合理使用布尔属性以优化网页性能和用户体验。

HTML代码可以通过在线验证器、集成工具和自动化流程来确保其清洁度。1)使用W3CMarkupValidationService在线验证HTML代码。2)在VisualStudioCode中安装并配置HTMLHint扩展进行实时验证。3)利用HTMLTidy在构建流程中自动验证和清理HTML文件。

HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Atom编辑器mac版下载
最流行的的开源编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境