移动端布局注意事项

手机端开发须知简介
            1.设备独立像素
            就是屏幕的大小,也可以说是屏幕的尺寸(别名叫点,属于一个单位)
            获取方法:window.screen.width/window.screen.height
            注意:
                1.横竖屏切换的时候,真机里的这个值不会改变,但是在模拟器里面是会改变的
                2.一个点里,可以放多个像素(也就是px)
                3.设备独立像素的值是可以被改变的(对于开发者来说)
            2.设备像素
            也称作物理像素,是屏幕的分辨率(实际放的像素值,1px就是1px),买手机的时候厂商告诉你的分辨率
            这个值是虚拟的,无法获取
            3.像素比(dpr,这个值无法修改)
            缩放的比例=设备像素(分辨率)/设备独立像素
            获取:window.devicePixelRatio
            解释:如果说一个设备的dpr是2的话,也就是说在1个点里放2个像素的意思
            也就是说,375的设备,可以放750px的元素
            4.viewport
            width=device-width宽度是设备的宽度
            user-scalable 用户能否缩放  yes/no
            initial-scale 初始比例,程序员来设置,设置为2的话各个元素就显示为原来的两倍(不要轻易玩这个)
                            但是加上 这个以后不是把每个元素都缩放了,而是改变了设备的独立像素
            minimum-scale 最小能够缩放的比例
            minimum-scale 最大能够缩放的比例

几种适配布局的好坏
            1.百分比布局
            值不好计算
            需要确定父级元素的大小,因为素有元素都是根据父级大小进行计算的
            宽度可以设置,但是高度不好设置
            一般情况下百分比布局都是配合其他布局一起使用的
            2.比例缩放适配(把所有机型的设备独立像素都设置成一致的)
            viewport需要通过js动态的设置
            通过设置比例,把宽度缩放成一致的
            注意:viewport里面给了缩放的值以后,最终页面的宽度是拿原来的值除以缩放比例
            3.比例适配01(根据dpr的值,把视口进行缩放,缩放到物理像素,也就是把屏幕的尺寸直接设置成他的物理像素)
            也是动态的设置viewport
            缺点:有些dpr不是整数,会出现除不尽的情况,那缩放的倍数就会出现很长的小数,再去算物理像素的时候就有误差
            4.rem适配
            px  绝对单位,无论屏幕多大,给多少就是多少,做不到适配
            em  相对单位,相对于自身字体大小的值,比如font-size:12px,则1em=12px
                问题:chrome下有最小字体限制,必须为12px,所以这个最小只能是12px
                    如果两个一样的元素,但是里面字体不一样,那就不能统一设置了,或者字体更改的时候也要重新设置
            rem 相对单位,css3新增,相对于根节点(html)字体大小来设置
                比如html{font-size:10px} 则1rem=10px
                通过rem可以做到只修改根元素的大小,就能成比例的调整所有字体的大小

精华
            首先rem的换算使用less进行动态的计算,设置好比例就不用自己计算了
            less文件写好后右键编译成css文件引入就可以了
            其次
            进入hbuilder找到 工具-选项-Hbuilder-编译器-代码助手设置 勾选启动px转rem提示,设置好两个比例,确定
            最后
            写代码的时候只要写了less文件的变量以后,直接写px就可以了,会有自动的代码提示转换成rem

兼容问题汇总(要用真机测试才能测出,chrome模拟器测不出)
            1.body下的overflow:hidden问题
            body加了overflow:hidden后,如果子元素比body大的话,正产是会被减掉不显示的,但是在ios上仍然显示
            也就是说,body的overflow:hidden在ios上面没有起到作用
            2.固定定位问题
            固定定位在移动端的兼容性很不好,以前老版本的安卓不支持,ios4以前的版本也不支持
            比如你fixd定位了header,qq浏览器下有时候向下滑动的话,,header就会隐藏掉
            再比如当你打开键盘的时候,固定定位也会失去作用
            3.点击链接的时候默认有一个背景,通过a标签去测试
            通过-webkit-tab-highlight-color:rgba(0,0,0,0)取消这个默认的背景
            4.按钮在ios下面都是圆角,通过input和buton去测试
            通过-webkit-appearance:none;消除输入框和按钮的默认外观
            border-radius:0;消除圆角
            5.每台设备的默认字体是不一样的(移动端设备大都没有宋体和微软雅黑),如果不设置字体则会选择手机默认的字体
            选择使用font-family:helvetica字体(大多数手机都有)
            6.切换横竖屏或者用户自己通过更改浏览器的设置,可以改变字体的大小
            加上-webkit-text-size-adjust:100%;禁止用户更改字体大小(需要加给body下的所有元素)
            7.长按文字ios下会选中文字
            通过添加-webkit-user-select:none;使长按文字也不能选中    
            8.手机中的浏览器内核大多是webkit内核

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
移动端开发前端需要注意以下几点: 1. 理想视口:为了在移动端有最理想的浏览和阅读宽度,需要设置理想视口。理想视口的宽度应该与设备的宽度一致,可以通过添加meta视口标签来实现。\[1\] 2. 布局方式:在移动端开发中,可以选择不同的布局方式,如流式布局、flex弹性布局、less+rem+媒体查询布局、混合布局等。根据项目需求和开发经验选择合适的布局方式。\[2\] 3. 响应式布局:响应式布局是一种能够适应不同屏幕尺寸的布局方式。通过使用媒体查询来适配不同的屏幕尺寸,使页面在不同设备上都能有良好的显示效果。\[2\] 4. 文件结构:在搭建移动端开发的文件结构时,需要考虑到不同设备的兼容性和性能优化。合理组织文件结构,减少不必要的请求和文件大小,提高页面加载速度。\[2\] 总结起来,移动端开发前端需要注意理想视口的设置、选择合适的布局方式、使用响应式布局和优化文件结构等方面。这些注意事项可以帮助开发者在移动端上实现良好的用户体验。 #### 引用[.reference_title] - *1* *3* [前端开发之移动端基础](https://blog.csdn.net/u013773608/article/details/110735612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Web前端开发 移动端开发(快速入门)](https://blog.csdn.net/weixin_46127956/article/details/127800253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值