今天学习了pure.css可定制的网格系统,pure默认的网格系统是移动先行,如果我们想在小屏幕上有网格只要用pure-u-*就可以了,下面来说一下它的主要用法!

<div class="pure-g">
<div class="pure-u-2-5">五分之二</div>
<div class="pure-u-1-5">五分之一</div>
<div class="pure-u-1-5">五分之一</div>
<div class="pure-u-1-5">五分之一</div>
</div>

效果:

那么图片如何随着设备的缩小与放大,宽高保持正确的比例呢?

<div class="pure-g pics">
<div class="pure-u-1-3">
<img src="imgs/testImg01.jpg" alt="" class="pure-img">
</div>
</div>
<div class="pure-u-1-3">
<img src="imgs/testImg02.jpg" alt="" class="pure-img">
</div>
</div>
<div class="pure-u-1-3">
<img src="imgs/testImg03.jpg" alt="" class="pure-img">
</div>
</div>
</div>

这样就可以让这三张图片在一行显示,并且可以随着设备的大小而保持宽高等比例了!

效果如下图所示:

而在实际过程当中我们不可能让这些图片一个挨一个的排列,得让他们之间有一定的距离,而且一般在实际的移动页面之中他们的下方还有一定的说明文字。因此我们这边就可以使用l-box (即应用填充和边框网格)

方案一:(推荐)

style中的代码:

 <style>
/*图片*/
.pics{
text-align: center;
}
.wenzi{
display: inline-block; /* span是行内元素*/
margin-top: 2px;
}
/*应用填充边框网格单位*/
.l-box{
padding: 1em;
}
</style>

body中HTML代码:

<div class="pure-g pics">
<div class="pure-u-1-3">
<div class="l-box">
<img src="imgs/testImg01.jpg" alt="" class="pure-img">
<span class="wenzi">森林深处</span>
</div>
</div>
<div class="pure-u-1-3">
<div class="l-box">
<img src="imgs/testImg02.jpg" alt="" class="pure-img">
<span class="wenzi">冰天雪地</span>
</div>
</div>
<div class="pure-u-1-3">
<div class="l-box">
<img src="imgs/testImg03.jpg" alt="" class="pure-img">
<span class="wenzi">夕阳西下</span>
</div>
</div>
</div>

方案二:(缺点:传统的浏览器如IE 7及以下缺乏支持box-sizing

style样式:

  <style>
html{
font-size: 60%;
}
/*核心样式*/
.pure-g > div {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.l-box {
padding: 1em;
}
/*其它样式*/
.pics{
text-align: center;
font-size: 1rem;
}
.wenzi{
display: inline-block;
margin-top: 5px;
}
</style>

body中的html:

<!--方式二:-->
<div class="pure-g pics">
<div class="pure-u-1-3 l-box">
<img src="imgs/testImg01.jpg" alt="" class="pure-img">
<span class="wenzi">森林深处</span>
</div>
<div class="pure-u-1-3 l-box">
<img src="imgs/testImg02.jpg" alt="" class="pure-img">
<span class="wenzi">冰天雪地</span>
</div>
<div class="pure-u-1-3 l-box">
<img src="imgs/testImg03.jpg" alt="" class="pure-img">
<span class="wenzi">夕阳西下</span>
</div>
</div>

效果是一样的:

这就是pure.css的图片响应式的写法了!

Pure.css网格系统学习心得——图片的响应式以及应用填充和边框网格单位的学习的更多相关文章

  1. Pure – 赞!轻量的、响应式的 CSS 模块集

    Pure 是一组轻量的,响应式的 CSS 模块,您可以使用在任何的 Web 项目中.充分考虑了移动设备中的使用,保持文件体积尽量小,每行 CSS 都进行了仔细的考虑. Pure 基于 Normaliz ...

  2. bootstrap 学习笔记(5)---- 图片和响应式工具

    (一)响应式图片: 在 Bootstrap 版本 3 中,通过为图片添加 .img-responsive 类可以让图片支持响应式布局.其实质是为图片设置了 max-width: 100%;. heig ...

  3. Bootstrap图片支持响应式

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:响应式图片

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. BootStrap学习之先导篇——响应式网页

    Bootstrap学习之前,要知道响应式网页的原理. 1.什么是响应式网页? 一个页面,可以根据浏览设备的不同,以及特性的不同,而自动改变布局.大小等.使得在不同的设备上上都可以呈现优秀的界面. 优点 ...

  6. 使用 FocusPoint.js 实现图片的响应式裁剪

    通常网站的布局都不是单一的.例如图像在电脑.平板和智能手机上可能显示的形状是不同的.特别是如果你使用的是全屏图像,在你必须使用相同的图像文件的情况下,你的主题可能会被截断或完全缺失,或者看起来很尴尬. ...

  7. 【唯星宠物】——CSS/BootStrap/Jquery爬坑之响应式首页

    前言:唯星宠物产品官网,分为首页.子页和登录注册页三个页面,除网页内容设计与图片素材的部分使用网上的材料之外,其余内容呈现以及功能模块全部为自己重构. 一.响应式轮播banner 思路:使用BootS ...

  8. 【技术分享会】 @第三期 CSS框架 PRUE 实现自适应和响应式

    Pure网址:https://purecss.cn/ 什么是响应式和自适应? .响应式:样式会随着屏幕大小改变,同一页面设备不同样式不同 .自适应:不管屏幕大小,页面的样式比例不变 响应式和自适应怎么 ...

  9. Bootstrap 学习笔记 项目实战 响应式轮播图

    左右两个箭头可以随浏览器缩放进行移动 保持在图片中间 Html代码: <!DOCTYPE html> <html lang="zh-cn"> <hea ...

随机推荐

  1. JS中this的指向问题&使用call或apply模拟new

    this的指向由调用时决定而不是定义时决定,定义的方式: //直接定义在函数里 var a="window中的a"; var name="window"; fu ...

  2. linux下mv命令使用方法

    1.作用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中.该命令等同于DOS系统下的ren和move命令的组合.它的使用权限是所有用户.2.格式mv [options] 源文件或目录 目标 ...

  3. 关于C#程序无故退出

    今天我发现一种情况,分享下 我一个对象是用多线程写的代码,主程序调用完后有时候也会退出,catch不到.我在原对象的接口里面加上lock之后就ok了!我的理解是该对象申请的资源没释放完毕,加lock后 ...

  4. ubuntu 14.04 重复登录问题解决方法

    为了远程登录,装了xubunt后出现重复登录的问题,尝试了多种方法,后来用下面的命令解决了 chown username:username .Xauthority 参考资料:http://askubu ...

  5. python之路-Day5

    1.列表生成式,迭代器&生成器 列表生成式 我现在有个需求,看列表[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],我要求你把列表里的每个值加1. 普通版 a = [0,1,2,3 ...

  6. Minecraft 插件 world edit 的cs 命令

    现在 jar包 http://www.mozilla.org/rhino ,放到classpath 我是放到libs目录中, 1.8 spi 服 @ECHO OFFjava -cp ".;. ...

  7. [测]jieba分词

    import jieba import os import jieba.analyse with open('src.txt', 'r') as file: data = file.read() se ...

  8. linux内核升级图文攻略(转)

    一.Linux内核概览Linux是一个一体化内核(monolithic kernel)系统.设备驱动程序可以完全访问硬件.Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置 ...

  9. iOS常用网络库之AFNetWorking

    简介 ​     `AFNetworking`是iOS开发网络API中最常用的第三方库,`github`中的`star`数充分说明了它在iOS开发中第三方库中的江湖地位  github地址:[AFNe ...

  10. linux下python调用c模块

    在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:   (1)编写C代码,hel ...