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

html-css016

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

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

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

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

div不可能做成三角形的,不过你可以用热点链接来解决,热点链接可以是不规则多边形的。<img src="images/banner.jpg" usemap="#Map" border="0" /><map name="Map" id="Map"> <area shape="poly" coords="1002,230,961,164,926,234" href="#" /></map>上面的数字代表三角形三个坐标。

首先,把宽和高设为同样的固定值,则肯定是正方形,这个不用多说;

其次,如果是自适应的界面,需要用百分比来设置正方形的边长,则可以用css3的新增长度单位vw、vh来设置,1vw等于视口宽度(viewport width)的百分之一,也就是说100vw就是视口的宽度。同理,1vh等于视口高度(viewport height)的百分之一。比如下面这个正方形的边长是屏幕宽度的50%:

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

但是,这个方法要求浏览器支持css3,一些老的浏览器可能就不支持了。