技术求教,各位大佬赐教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
lufeng666
V2EX    程序员

技术求教,各位大佬赐教

  •  
  •   lufeng666 2024-07-26 05:00:30 +08:00 2715 次点击
    这是一个创建于 441 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求:
    我有一个 H5 网页,移动端 WEB 访问并使用效果良好。但是没有做成响应式布局,PC WEB 不适配。因为移动端 WEB 是竖屏的,PC WEB 是横屏的,想要改造做成自适应布局工作量有些大,如果专门为 PC WEB 做一套页面和交互,开发成本维护成本也挺高。

    想法: 自己所能想到的比较好的方案就是 PC 端写个 iframe ,iframe 搞成竖屏的用来加载移动端 WEB 页面,从而解决 PC WEB 不适配的问题。

    请各位大佬赐教:
    有没有更低成本、效果更好的实现方式?比如某个开源框架能实现,或者某个工具能实现这样的效果?

    为此我画了个想要实现的效果图。

    点击查看想要实现的效果

    14 条回复    2024-07-26 22:27:48 +08:00
    lufeng666
        1
    lufeng666  
    OP
       2024-07-26 05:00:54 +08:00
    hhacker
        2
    hhacker  
       2024-07-26 05:18:30 +08:00
    iframe 是成本最低的方案
    tianhehechu
        3
    tianhehechu  
       2024-07-26 08:25:47 +08:00
    把你项目背景和技术栈简短描述,然后把页面逐条消息贴给 ChatGPT ,让它帮你出转换成适应 PC 横屏的版本,然后你自己写个 JS 在实际访问页面时判断当前终端类型来选择跳转不同的页面即可。
    murmur
        4
    murmur  
       2024-07-26 08:29:37 +08:00   2
    响应式适配很难的 竖屏转横屏相当于进平板模式了 那宽度

    比较简单的办法是页面放大大概 25%左右,然后两边留白居中,不适配
    lyxxxh2
        5
    lyxxxh2  
       2024-07-26 09:18:03 +08:00
    1. 直接竖屏风格:(推荐)
    body{
    width:50%;
    margin:atuo;
    }


    2. 响应式:
    正常框架都支持啊。
    col-md-6
    col-sm-6
    ...
    但是已经开发好手机端,再改很麻烦。
    gloye
        6
    gloye  
       2024-07-26 09:26:03 +08:00
    @media-query body{width:xx;margin:0 auto;}
    kxg3030
        7
    kxg3030  
       2024-07-26 09:49:55 +08:00
    如果你要实现这种:
    {
    "data": {
    "error": "Imgur is temporarily over capacity. Please try again later."
    },
    "success": false,
    "status": 403
    }
    还真没什么办法,毕竟这是 json 啊
    zhhbstudio
        8
    zhhbstudio  
       2024-07-26 10:10:07 +08:00
    <style>
    body{
    max-width: 768px;
    margin: 0 auto;
    }
    </style>
    NongNong
        9
    NongNong  
       2024-07-26 10:14:53 +08:00
    是不是可以判断,是否为桌面端,是桌面端的话给 body 一个 max-width,margin: 0 auto ?
    sentinelK
        10
    sentinelK  
       2024-07-26 10:20:32 +08:00
    iframe 确实成本最低(移动 web 不需要任何侵入性),但代价就是也是最丑陋的修改方式。(会导致 pc 端 url 和移动端不一致。)

    所以最经济的方案应该是楼上几位提到的,如果是 pc 端(或者某个横向比例、分辨率阈值),就强制限制 body (或最外层 div )宽度,并居中留白。

    btw:pc 横屏 <-> 移动竖屏这种跨度,我个人不建议考虑自适应。因为他并不光是页面元素布局的问题。更多是操作习惯、信息密度等设计维度的问题。
    pcdoggy
        11
    pcdoggy  
       2024-07-26 12:49:20 +08:00
    如果移动端访问效果良好,可以先确认下效果最好的最宽场景,再添加宽屏的分辨率的适配(但是移动端的操作习惯跟 pc 还是差异很大的)
    Sunzehui
        12
    Sunzehui  
       2024-07-26 19:48:11 +08:00
    套 iframe 吧,不然限制 body 的方式,你的 fixed 定位的东西都得改
    Sunzehui
        13
    Sunzehui  
       2024-07-26 19:55:15 +08:00
    @Sunzehui #12 ```Javascript
    document.querySelector('#app').remove()
    const iframe = document.createElement('iframe')
    iframe.src = location.href
    document.body.appendChild(iframe)
    ```
    NongNong
        14
    NongNong  
       2024-07-26 22:27:48 +08:00 via iPhone
    @Sunzehui 可以用 transform 限制 fixed 在 body 内
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2976 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 13:32 PVG 21:32 LAX 06:32 JFK 09:32
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86