技术求教,各位大佬赐教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
lufeng666

技术求教,各位大佬赐教

  •  
  •   lufeng666 Jul 26, 2024 3177 views
    This topic created in 653 days ago, the information mentioned may be changed or developed.

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

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

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

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

    点击查看想要实现的效果

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

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


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

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

    btw:pc 横屏 <-> 移动竖屏这种跨度,我个人不建议考虑自适应。因为他并不光是页面元素布局的问题。更多是操作习惯、信息密度等设计维度的问题。
    pcdoggy
        11
    pcdoggy  
       Jul 26, 2024
    如果移动端访问效果良好,可以先确认下效果最好的最宽场景,再添加宽屏的分辨率的适配(但是移动端的操作习惯跟 pc 还是差异很大的)
    Sunzehui
        12
    Sunzehui  
       Jul 26, 2024
    套 iframe 吧,不然限制 body 的方式,你的 fixed 定位的东西都得改
    Sunzehui
        13
    Sunzehui  
       Jul 26, 2024
    @Sunzehui #12 ```Javascript
    document.querySelector('#app').remove()
    const iframe = document.createElement('iframe')
    iframe.src = location.href
    document.body.appendChild(iframe)
    ```
    NongNong
        14
    NongNong  
       Jul 26, 2024 via iPhone
    @Sunzehui 可以用 transform 限制 fixed 在 body 内
    About     Help     Advertise     Blog     API     FAQ     Solana     2971 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 50ms UTC 06:53 PVG 14:53 LAX 23:53 JFK 02:53
    Do have faith in what you're doing.
    ubao msn 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