不知大家在做前端页面的时候,有没有遇到类似这样的问题:有一个不是正方形的图片,可能是宽度大于高度的,也可能是高度大于宽度的,而你又并不想用背景图的方式来做,要实现用img标签来让此图片显示出一个正方形的且不变形的效果。即如下图:只显示图片中间部分(红框部分)
下面我们便来简单讨论如何实现让长方形图片显示出正方形的效果,首先我们本次讨论中用到的两张图片的原图就是上面的两张图片(一张宽度大于高度,另一张高度大于宽度)
1、背景图显示正方形效果的做法
首先还是从背景图的做法说起,遇到类似的问题,我们大部分人首先想到的是,能用背景图片做的话,就直接用背景图片来做了,至少我是这么想的。那么用背景图的方式是怎么做的,代码还是写一下如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>背景图的做法</title>
<style>
.bg-img1 {
width: 200px;
height: 200px;
background: url("images/img1.jpg") center;
background-size: contain;
}
.bg-img2 {
width: 200px;
height: 200px;
background: url("images/img2.jpg") center;
background-size: cover;
}
</style>
</head>
<body>
<h3>背景图的做法</h3>
<div class="bg-img1"></div>
<br>
<div class="bg-img2"></div>
</body>
</html>
页面效果如下图:
<meta charset="UTF-8">
<title>img标签的做法</title>
<style>
.img-1 {
width: 200px;
height: 200px;
object-fit: cover;
}
.img-2 {
width: 200px;
height: 200px;
object-fit: cover;
}
</style></head><body><h3>img标签的做法</h3><img src="images/img1.jpg" class="img-1"><br><img src="images/img2.jpg" class="img-2"></body></html>
效果如下图:
fill: 中文释义“填充”。默认值。替换内容拉伸填满整个contentbox,不保证保持原有的比例。
contain: 中文释义“包含”。保持原有尺寸比例。保证替换内容尺寸一定可以在容器里面放得下。因此,此参数可能会在容器内留下空白。
cover: 中文释义“覆盖”。保持原有尺寸比例。保证替换内容尺寸一定大于容器尺寸,宽度和高度至少有一个和容器一致。因此,此参数可能会让替换内容(如图片)部分区域不可见(上面讲解的例子就是如此)。
none: 中文释义“无”。保持原有尺寸比例。同时保持替换内容原始尺寸大小。
scale-down: 中文释义“降低”。就好像依次设置了none或contain, 最终呈现的是尺寸比较小的那个。
下面我们来测试一下每一个属性值显示的效果,为了更明显的看出区别,我们换另外一张图片。
每个img标签都设置的 width:200px 和 width:200px,再加上设置的object-fit属性的不同值,效果图如下:
注:目前IE应该还不支持object-fit和object-position属性。
今天是正月初五,在这里祝大家新年快乐,心想事成。接上次的粒子群算法,这次更新2020年提出的最新的优化算法-麻雀算法。优化问题是科学研究和工程实践领域中的热门问题。智能优化算法大多是受到人类智能、生物群体社会性或自然现象规律的启发,在解空间内进行全局优化。麻雀算法于2020年由薛建凯[1]首次提出,是基于麻雀种群的觅食和反捕食行为的一种新型智能优化算法。麻雀搜索算法的具体步骤描述以及公式介绍:构建麻雀种群:其中,d表示待优化问题的维数,n表示麻雀种群的数量。所有麻雀种群的适应度函数可以表示成如下
随着Windows系统的不断升级,我们会发现菜单中的Internet Explorer(IE)不见了,取代它的叫Microsoft Edge(简称ME),图标也从关闭的“e”变成了开放的“e”,大概是在表明自己开放的态度。当然,在很多人的电脑中,这个图标可能就一直静静地躺在那里,未能引起主人的关注。因为大部分人一拿到电脑,就会习惯性地安装上Chrome,而Windows内置的浏览器则被默默地忽略了,比如我就是其中之一。这天,忽然看到桌面上这个由蓝绿渐变色组成的美丽图标,在好奇心的驱使下点开了,不知不觉用了半
来源:https://my.oschina.net/u/4579695/blog/4487173https://www.eoas.ubc.ca/~rich/map.htmlhttp://www.ngdc.noaa.gov/mgg/shorelines/data/gshhshttps://ww2.mathworks.cn/matlabcentral/fileexchange/35642-kml2structhttps://ww2.mathworks.cn/matlabcentral/fi.
Mar 6, 2011从上家手中接过钥匙,这个53.23平米的小房子就正式属于我了。它看起来是那么小那么破啊![img]http://dl.iteye.com/upload/attachment/430503/3ecf5112-74d0-3011-8902-5e2a78243fc4.png[/img][img]http://dl.iteye.com/upload/attac...
昨天 5 月 15 日下午 1:00(美国太平洋时间 5 月 14 日 22:00),ArcBlock Technical Learning Series 区块链技术培训系列讲座第24期...
###C程序设计(第四版) 谭浩强 习题7.10 个人设计####习题 7.10 写一个函数,输入一行字符,将此字符串中最长的单词输出。#include&lt;stdio.h&gt;int main(){ int word_length = 0, word_max=0; printf("请输入一个字符串:"); char s[20]; gets(s);...
在使用Anaconda进行一些框架等安装时,如果使用默认的源地址下载很慢,更换到国内的镜像地址就很快,所以这里记录下自己使用的清华镜像配置,方便日后换机操作。
问答时间:2021年8月18日嘉宾简介:巩书凯,重庆忽米网络科技有限公司CEO,任天津市政协委员、天津市红桥区团委副书记、红桥区人大代表、入选创业邦“2017年30位30岁以下创业新贵”榜...
全面的令牌自定义 AuthorizationServerTokenSerivces 的自定义, `TokenStore` 的自定义以及 `OAuth2AccessToken` 的自定义. 启用 JWT (Json Web Token)
<br />一、文本文件与二进制文件的定义<br /> 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。<br /> 简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)。<br /> 从上面可以看出文本文件基本上是定长编码的(也有非定长
Buttonimport tkinterwin = tkinter.Tk()# 设置标题win.title("窗口")# 设置大小和位置win.geometry("400x400+200+50")def func(): print('one')button1 = tkinter.Button(win, text="one", command=func, widt...