网站首页 > 知识剖析 正文
在制作网页的很多时候为了页面美观都需要图片能够做到上下居中、左右居中。网上现实的方式方法也有很多,这里分享我经常使用的一种方法。
实现方法
// HTML代码
<div class="row">
<div class="col-xs-3">
<img src="/public/empty_200x100.png" class="imgbg" style="background-image:url('/uploads/demo.jpg');">
</div>
</div>
// CSS 代码
<style type="text/css">
.imgbg{
width:100%;
background-color: #ebf2f9;
background-position: center;
background-size:contain;
background-repeat: no-repeat;
}
</style>
实现原理
1、先准备一张透明的png图片。
2、对这个图片定义一个 Css样式,添加这几个属性:
background-position: center;背景图片居中
background-size: contain;显示完整背景图片
background-repeat: no-repeat;背景图不重复
3、然后把要显示的图片作为背景图片。
这样图片就不会随着尺寸不同错位显示。展示的时候如果需要显示正方形图片,只需要制作一个1x1比例的png图片,另外可以根据自己的要求制作png图片。
升级处理
在展示图片的时候,可能有些小伙伴不喜欢把图片放到style样式里面,可能会感觉到看起来怪怪的。
style="background-image: url('/uploads/demo.jpg');
我们想要的可能是这样的展示方式
<img src="/public/empty_200x100.png" data-src="/uploads/demo.jpg" class="imgbg">
这样其实也简单,我们可以借助于 jquery 来实现这个功能。代码如下:
<script type="text/javascript">
$(document).ready(function() {
$("[class='imgbg']").each(function(index, el) {
$(this).css('background-image', 'url(' + $(this).data('src') + ')');
});
});
</script>
PHP 实现
PHP 实现生成图片也分为二种
1、图片上传的时候,按后台设置的尺寸生成。
2、图片预览的时候,按URL中设置的参数生成。
github地址
https://github.com/zjutsxj/autoCropImage
猜你喜欢
- 2025-01-24 [office] excel2016表格怎么批量设置固定和对齐图片
- 2025-01-24 Word文档中插入图片的正确方法,再也不用一张张调整大小和位置了
- 2025-01-24 快速掌握作文「小标题」使用方法!快给孩子收藏
- 2025-01-24 为了屏占比拼了!手机前置摄像头是如何玩出花样的?
- 2025-01-24 第69个空军建军节,人民空军的识别标志了解一下!
- 2025-01-24 学这11个构图技巧,拍秋天花朵和叶片,帮你摄影照片更好看
- 2025-01-24 从日系海报上学文字排版设计(日系海报 简约)
- 2025-01-24 屋面避雷带怎么做才规范,你知道吗?
- 2025-01-24 HTML网页中的图形是如何对齐的?有什么方法可以使它们对齐?
- 2025-01-24 2张人像发现4个问题,16图解6个摄影技巧,拍照清丽优雅不俗气
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)