用css3写一个移动端的正方形,在各种高分辨率的手机下都一样美观,求大神帮帮我

主要是高度应该如何能够很好的把控,让它在pad上也可以是正方形... 主要是高度应该如何能够很好的把控,让它在pad上也可以是正方形 展开
 我来答
网海1书生
科技发烧友

2015-11-05 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

首先,最简单的办法是把宽和高设为相同的固定值。但是如果是采用自适应布局的,比如正方形的宽是屏幕宽度的50%,则要这样:

<div style="width:50%; height:50vw; background-color:#f00"></div>

唯一要注意的就是可能存在浏览器兼容问题,不过我在手机微信内置浏览器以及电脑的Chrome上测试都没问题

追问
vw这个单位,在pad上就会显得特别的大,这个问题能解决吗
追答

在Pad上要注意一个问题,就是显示屏横向和竖向时要分别处理,横向时以高度(height)为标准,竖向时则要以宽度(width)为标准(比如我上面的代码就是)。

横向的代码则是:

<div style="height:50%; width:50vh; background-color:#f00"></div>

然后在CSS中要根据屏幕参数自动选择横向或竖向的样式代码,这个应该会吧?

或者用js也可以


干脆给你一个完整的例子吧:

<style>
html,body {width:100%; height:100%}
.zfx {background-color:#f00}
@media all and (orientation :landscape) {
   .zfx {height:50%; width:50vh}
}
@media all and (orientation :portrait) {
   .zfx {width:50%; height:50vw}
}
</style>
<div class=zfx></div>
匿名用户
2015-11-05
展开全部
宽和高设置同样的值就可以了呗?
更多追问追答
追问
如果做成移动端的话,宽是百分比,那么高跟宽一样值的话,那就出不来效果了
追答
哦哦。。
正方形有什么用么??

如果纯粹展示的,可以用border模拟一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式