一张正方形图片,伴随我一年半,敢问情绪的使用方法

【问题的由来】

  1. 图片适配正方形显示方法一
    <style>
    .box{width:400px;height:400px;border:solid 5px red;margin:0 auto;background:#f4f4f4 url() no-repeat center;background-size:cover;}
    </style>
    <div class="box" style="background-image:url(http://data.upfitapp.com/data/2017/08/12/1722315025297765877.jpg);"></div>
  2. 图片适配正方形显示方法二
    <style>
    .box2{width:400px;height:400px;border:solid 5px red;margin:0 auto;}
    </style>
    <div class="box2" style="background:#f4f4f4 url(http://data.upfitapp.com/data/2017/08/12/1722315025297765877.jpg) no-repeat center;background-size:cover;"></div>

【说明】

方法二是我这一年半以来一直使用的方法,没错每次需要适配图片的时候,我都要在每个div上写上一遍;

直到刚刚,我刚刚因为移动端回车按键脸红,还没有消退,有爆发了一个无比搞笑的事情

【为什么】

为什么,我这么长时间,一直使用方法二,而不是方法一呢?看明白的同学,都知道,两种方法对比,方法一和方法二差好几个量级;

而我却用了一年半,回溯曾经探索不同尺寸的图片要显示在正方形里面,我走过了很多个路口:

  1. 最开始想各种办法在img标签上下功夫,但是发现在不知道图片宽高数据,还要适配各种奇形怪状的尺寸,这种方法的实现难度过大,需要进行大量的JS操作,在开发上、性能上和后期维护都是不可取的
  2. 当时项目催的很急,我的水平也一般般,情急之下,在网上找了N多的插件,最后选择了一个可以裁剪的插件,在图片的源头进行限制,加上img标签就可以了;问题是别人的插件在使用过程中性能问题和一些定制化方便实在是让我烦不胜烦;我现在基本上都是自己写需要的插件,不在做伸手党,伸手党的苦,源自与那种无奈的折磨
  3. 自己当时正在研究CSS3性特性,发现了background-size这个样式加上background的其他样式就可以各种比例的图片显示成为正方形;而后我希望能够用background把background-size也包含就去,这样代码量会少很多;而正是这种方法的失败,导致了后续被自己坑了一年半;当时的想法是全部用background简写,没有找到合适的规则写法,而且研究的时候,资料也说过尽量不要用background包含全部;浏览器解析起来比较麻烦,也影响性能
  4. 图片地址来源于后台数据请求,所以肯定不能下载CSS里面,都一样怎么玩耍;所以需要写在HTML标签里面,我试验了很多次,发现使用方法一种的写法,就必须把background-size一起写在里面,不然size样式不生效;当时很苦恼,但却只能这样;知道今天

【茅塞顿开】

类似简写方法,其实有很多样式都有,比如:padding、margin等,由于background包括background-size,而background-size的默认值auto,导致了其失效;

情绪的力量,每次开发到这块,自己都由些许情绪,仔细了解才知道,为了一个图片地址,我要写那么多重复的代码,而我还乐此不疲的不去深入思考为什么;

管理情绪,情绪给我们的最大帮助就是发现问题,而我们不应该不知所措,自乱阵脚;而应该去接触和了解它,知道这是不是一个问题,是问题,如何解决呢?及时没有立刻解决也要在大脑中留个疑问;

灵感的来源就是自己大脑中有多少个为什么,为什么越多灵感也就越多;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java3d创建立方体_Opengl创建几何实体——四棱锥和立方体

//#include #include #include using namespace std;float rtri;float rquad;GLfloat points0[5][3] { {0,1,0},{-1,-1,1},{1,-1,1},{1,-1,-1},{-1,-1,-1} };GLfloat points1[8][3] { {1,1,-1},{-1,1,-1},{-1,1,1},{1,1,1},{1,-1,1},{-1,-1,1},{-1,-1,-1},{1,-1,-1} };//四棱…

《软件需求十步走》阅读笔记06

开发因需求而来&#xff0c;需求开发以需求规划的成果为主要依据。软件需求开发首先要做的是获取需求&#xff0c;得到目标&#xff0c;系统关联情况以及用例的分析&#xff1b;其次是需求分析&#xff0c;软件系统的可行性&#xff0c;用户接口&#xff0c;系统功能&#xff0…

WSO2 ESB的一种消息传递方式

正如我之前在WSO2 ESB工作时所发布的那样。 为了更好地理解此ESB&#xff0c;我一直在浏览示例 &#xff08;尚未完成所有示例 &#xff09;。 示例12是关于与ESB的单向消息传递&#xff0c;并使用TCP监视器使其可见。 我之前已经介绍过如何设置类似的工具“ TcpTunnelGUI”&am…

Eclipse-Java代码规范和质量检查插件-Checkstyle

CheckStyle是SourceForge下的一个项目&#xff0c;提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程&#xff0c;从而使得开发人员从这项重要但枯燥的任务中解脱出来。它可以根据设置好的编码规则来检查代码。比如符合规范的变量命名&#xff…

HTML CSS基础

第一章 一、样式 1、行间样式&#xff0c;代码不可维护&#xff0c;不推荐 2、内联样式&#xff0c;不可重用&#xff0c;不推荐 3、外联样式&#xff0c;可重用&#xff0c;可维护&#xff0c;推荐 <link rel"stylesheet" href"...css" /> 二、…

2018-04-22接口自动化测试学习心得(1)

根据接口文档写接口测试用例-->添加接口自动化测试项目相关依赖(httpclienttestngpoi-ooxmllog4jmailmysql-connector-java)-->写接口测试方法-->执行测试 -- 接口测试1.一个接口就是一个函数2.我们要保证一个接口能够在url地址栏里面访问到&#xff0c;必须满足一下两…

Java MemoryMapped文件的功能

Java MemoryMapped文件的功能 在JDK 1.4中&#xff0c;将内存映射文件的有趣功能添加到Java中&#xff0c;该功能允许将任何文件映射到OS内存以进行有效读取。 内存映射文件可用于开发IPC类型的解决方案。 本文是使用内存映射文件创建IPC的实验。 有关内存映射文件的一些详细信…

介绍一款好用 mongodb 可视化工具

最近想自己搭建一个个人博客&#xff0c;所以学了下mongodb&#xff0c;mongodb是用命令行输入的&#xff0c;有些人可能不太习惯&#xff0c;我自己找了下mongodb的一些可视化工具&#xff0c;发现了一款adminmongo很好用&#xff0c;这里介绍给你们用一下。 github地址&#…

用CSS3来代替JS实现交互

【CSS3和JS】 对于CSS了解的同学都知道&#xff0c;CSS的实现是最底层的&#xff0c;在实现方式和性能上都不是&#xff0c;JS这种提供接口的脚本可比的&#xff1b;从CSS3的动画和JS动画对比角度来看两者&#xff0c;会更清晰&#xff1b;而且随着前端框架的使用&#xff0c;…

php 如何宏定义,php – 在html中实现宏定义的方法

也许显而易见,但C预处理器可以完成这项工作.index._html#define _em(a) a #define _image(a, b) #define _list(a, b, c) a \\ b \ c \#define _theTile The Bar Title#include "head._html"_list(foo, bar, bean)This is really _em(great)_image(media/cat.jpg, …

python——函数 11、命名空间

三种名称空间1、内置名称空间&#xff1a; python解释器自带的名字,如&#xff1a;print、sum、max 当解释器启动时就会形成这个空间 2、全局名称空间&#xff1a; 执行python程序时就会产生这个空间 在每行顶端写代码 a10 def foo():print(a) foo() View Code3&…

Hadoop如何工作? HDFS案例研究

Apache Hadoop软件库是一个框架&#xff0c;该框架允许使用简单的编程模型跨计算机集群对大型数据集进行分布式处理。 它旨在从单个服务器扩展到数千台机器&#xff0c;每台机器都提供本地计算和存储。 库本身不用于依靠硬件来提供高可用性&#xff0c;而是被设计用来检测和处…

CS Round#53 E Maxor

题意&#xff1a;给你N个数&#xff0c;你可以从中选出两个数将它们or起来得到M&#xff0c;求M的最大值及得到最大值的方案数。 刚了半个小时得到了一个貌似时O(N log max(Ai)^2)的方法&#xff0c;想了想发现貌似只能做出第一问&#xff0c;但好像改一下就能搞掉第二问&#…

CSS小记录

1.让图文不可复制 -webkit-user-select: none; -ms-user-select: none; -moz-user-select: none; -khtml-user-select: none; user-select: none; 2.让图片垂直居中 .Logo{height: 109px;line-height: 109px;} .Logo img{vertical-align: middle;} 3.行内块级元素垂直居中&…

Java如何避免重量级锁,Java 中锁是如何一步步膨胀的(偏向锁、轻量级锁、重量级锁)...

文章目录重量级锁(Mutex Lock)偏向锁(比较 ThreadID)偏向锁获取过程偏向锁的释放轻量级锁(自旋)轻量级锁的加锁过程轻量级锁的释放总结重量级锁(Mutex Lock)Synchronized 是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的 Mute…

使用镜像源安装EASY_INSTALL和PIP教程

使用easy_install和pip可以让python的模块的安装和管理变得非常方便。我一般在新的Linux系统上&#xff0c;先easy_install pip然后就用pip安装其他的模块了。 不过&#xff0c;在国内用官方的pypi源&#xff08;https://pypi.python.org/simple&#xff09;一般比较慢&#xf…

Flexbox布局

Flexbox布局 刚开始接触flex布局的时候&#xff0c;只知道它可以用来使子元素水平垂直居中&#xff0c;代码最为简洁好用。 .container {display: flex;justify-content: center;align-items: center; } 当然不仅仅是居中问题&#xff0c;flexbox能做的事情大多&#xf…

臭名昭著的Java错误和陷阱

在2000年&#xff0c;我上大学&#xff0c;濒临选择一种语言来发展自己的职业。 Java尚未成为主流&#xff0c;但很受人们欢迎。 与静态html页面相比&#xff0c;小应用程序&#xff08;尚未破碎&#xff09;花哨且富有光泽。 Swing不是构建桌面应用程序的不错选择。 J2EE越来越…

php oracle 配置,关于php:为Windows 64位配置Oracle OCI8

我一直在为Windows配置oracle oci8时遇到问题我正在使用Windows 7 64位&#xff0c;xampp v3.2.2&#xff0c;php 5.6.15和oracle g11 Express我尝试了以下步骤&#xff0c;但是在运行phpinfo时找不到oci软件包&#xff1a;我同时下载了Instant Client Package-Basic和Instant …

CSS_常见布局

1.一列布局——常用于网站首页。 html&#xff1a; 1 <div class"top"></div> 2 <div class"main"></div> 3 <div classfoot></div> css&#xff1a; 1 body{2 margin:0;3 padding: 0;4 …