前端实战Demo:一张图片搞定一页布局_html/css_WEB-ITnose
其实简单来说就是一句话——使用空的HTML元素来框选出需要操作的图片元素。
直接举一个例子来说。一般常见的app或者微信页面中,经常会有登录的页面,类似于下面的这种页面:
整个页面只有一个或者两个不多的需要操作的组件,比如按钮、输入框之类的,图片中的其他元素都只是作为静态展示的设计而存在,那么专门把这个几个元素抠出来再写进页面中去显然就有点复杂化了,并且可能还会出现一些元素与元素之间相对位置重叠或者间距过大等问题。那么就可以用一个空的div标签来框选出上述图片中的输入和按钮区域,然后在这个空的div中添加input或者button元素,当然要保持样式和设计图中的一致。
那么上图中的例子,我给出的页面的主体代码就是这样:
Html代码:
Css代码:
.container{ position: absolute; background:url("imgs/1.jpg"); background-size: 100% 100%; background-repeat: no-repeat; }.btn{ position: absolute; margin-top: 40%; margin-left: 20%;
width: 55%;
height: 20%; display: none; }
因为这里是用一个空的div来框选图片中的input或者按钮区域,所以为了保持原有图片的样式,就需要把实际上的input或者button的区域的display设置为none。当然要使用Javascript设置,当input和按钮区域获得焦点时,显示input和button了。可以直接写内联的input的onfocus属性:
onfocus="this.style.display='block'"
当然上面两幅图都是设计相对比较简单的图片,倘若是复杂一些的图片呢?
其实操作方法也是一样的,只要注意调整好空的div的位置和宽高度与图片中的设计相吻合即可。
可能有人要问了,为什么要使用百分比来作为位置和宽高度的大小度量呢?这当然是一种响应式的设计。如果使用像素的话,那么只能适用于一种屏幕宽高比和分辨率之下,使用百分比的话就可以在较多种类的屏幕特点之下仍然保持与设计的高还原度。
上述是使用了HTML元素的onfocus属性,其实也可以使用jQuery,代码如下:
$("input#tel").focus(function(){ $("input#tel").css("display","block");});
上一篇: JavaScript使用三种方式实现修改图象大小详解
下一篇: php 无法上传大文件完美解决方案