当前位置:首页 > 技术文章 > 正文内容

【CSS】图片实现上下居中、左右居中的另类实现方法

zonemu16小时前技术文章2

在制作网页的很多时候为了页面美观都需要图片能够做到上下居中、左右居中。网上现实的方式方法也有很多,这里分享我经常使用的一种方法。

实现方法

// 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

相关文章

Excel VBA 主界面/一步一步带你设计【收费管理系统】02

本文于2023年5月14日首发于本人同名公众号,更多文章案例请关注微信公众号:Excel活学活用!☆本期内容概要☆用户窗体设置:主界面、主页设计上期我们分享了EXCEL读取ACCESS数据库表,实现系...

最美 Linux 发行版之争还在继续,Elementary OS 0.3 发布 0.3 Freya 更新

对于个人终端消费者而言,Linux 发行版们依然希望通过 UI 革新来吸引他们的注意。除了 Ubuntu 这样综合能力强的选手,偏重界面的发行版里,前有 OpenSUSE,后有 Linux Mint,...

linux发行版-openSUSE Agama 15安装程序发布:带来多项可用性升级

openSUSE旗下仍在开发中的全新Linux安装工具Agama,于近日推出v15版本,带来了界面增强、实用新功能等一系列改进,为用户带来更顺畅的系统安装体验!界面优化:细节之处见用心新版本在本地化设...

Garuda Linux:现代化、注重性能与美观的Linux发行版

什么是 Garuda Linux?Garuda Linux 是一个基于 Arch Linux 的现代化、注重性能与美观的桌面操作系统。它面向对性能有较高要求的用户,尤其受到 Linux 爱好者、游戏玩...

零基础开始学 Web 前端开发,有什么建议?(附视频教程)

WEB前端看似简单,其实不然,要学的知识点很多很杂,对于零基础学习前端的小伙伴来说,一份详细的前端学习知识点大纲尤为重要。下面,话不多说,直接上干货(全网最全,没有之一)。PS:文末有福利(全阶段视频...

「2022」打算跳槽涨薪,必问面试题及答案——VUE篇

1、为什么选择VUE,解决了什么问题?vue.js 正如官网所说的,是一套构建用户界面的渐进式框架。与其它重量级框架不同的是,vue 被设计为可以自底向上逐层应用。vue 的核心库只关注视图层,不仅易...