热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS简单的图片居中

本文主要分享【网页设计】,技术文章【CSS简单的图片居中】为【unsleepfish】投稿,如果你遇到相关问题,本文相关知识或能到你。网页设计图片的居中显示css有很多方法,但在很多情况下有的

本文主要分享【网页设计】,技术文章【CSS简单的图片居中】为【unsleepfish】投稿,如果你遇到相关问题,本文相关知识或能到你。

网页设计

图片的居中显示 css 有很多方法,但在很多情况下有的方法无效,这是件很头疼的事情,比如

一般设置图片属性

​text-align:center

水平居中,但这个方法经常无效,很多前端工程师都有研究过或者说是搜索过

CSS 图片居中方法吧。

但其实CSS 图片居中有多种不同的情况,也有多种不同的解决方法,具体方法如下所示:

图片居中又分为水平居中和垂直居中

提示:在你开始阅读以下内容之前,你可以先了解CSS图片的基础内容。

一、水平居中:

1、单独文字垂直居中我们只需要设置 CSS 样式line-height属性即可。

2、文字与图片同排,在设置div高度同时再对此 CSS 样式的图片“img”样式设置​vertical-align:middle​垂直居中属性,如:​img{vertical-align:middle;}​ 。

3 不确定宽度的块级元素设置水平居中的方法

(1)是使用​table​ 作为容器的方法来实现。当然不大推荐使用这种方法,因为添加了无意义的标签。这里就稍微介绍一下吧。​Table​ 标签本身并不是块级元素,当我们不设置​table​的宽度的话,他里面的宽度是由他内部元素的宽度撑起来的。但即使我们没有设置​table​的宽度,直接设置​table​的外边距​margin:0 auto;​就可以实现水平居中了!这样我们就可以通过设置​table​水平居中,间接使里面的内容居中。

(2)相对于用​table​的方法的好处是不用增加无语义标签,简化标签嵌套深度。这个思路是这样的,通过改变块级元素的​display​属性值为​inline​类型,然后设置​text-align:center​来实现居中。这种方法也有一定不妥之处就是把块级元素改为行内元素后,行内元素比块元素少了一些功能。比如说设定长宽值等,在项目运用中可能会有一些限制,大家可以自行选择。

(3)通过给父元素设置浮动​float​,再设置父元素的​position​属性为​relative​和​left:50%;​子元素设置​position:relative​和​left:-50%​来实现水平居中。这个好处是可以保留块级元素仍然是以​display:block​的形式显示,不会添加无意义的标签,不添加嵌套深度。确点是设置了​position:relative;​带来了一些副作用。下面是第三种方法的实例代码,放到​body​标签里面就可以了。

二、垂直居中:

对这个CSS居中问题,我们可以使用设置背景图片的方法。举例:

body {BACKGROUND: url(”图片文件”) #FFF no-repeat center;}

关键就在于这个​center​属性,它表示让该背景图片在容器中居中。你也可以把​center​换成​top left​或者直接写上数字来调整它的位置。

方法一:

实例

div {

width:500px;

height:500px;

border:1px solid #666;

overflow:hidden;

position:relative;

display:table-cell;

text-align:center;

vertical-align:middle;}

尝试一下 »

方法二:

实例

div p {

position:static;

+position:absolute;

top:50%

}

img {

position:static;

+position:relative;

top:-50%;left:-50%;

vertical-align:middle

}

尝试一下 »

方法三:

实例

img {

position:static;

+position:relative;

top:-50%;left:-50%;

vertical-align:middle; }

尝试一下 »

方法四:

实例

* {margin:0;padding:0;}

div {

width:500px;border:1px solid #666;

height:500px;

background:url("/statics/images/w3c/intro.png") center no-repeat;}

尝试一下 »

三、css图片居中用text-align:center无效怎么回事?

实例

div{

border:1px solid red;

margin:20px;

text-align:center;

}

尝试一下 »

四、如何让图片在DIV中水平和垂直两个方向都居中?

方法一:

思路:利用​text-align​属性将图片水平居中,然后设置​padding-top​的值使其垂直居中。

结构如下:

CSS样式如下:

div {width:300px; height:150px; background-color:#CCC; border:#000 1px solid; text-align:center; padding-top:50px;}

background-color:#CCC; border:#000 1px solid;为DIV加个边框和背景色,便于观察效果。

​text-align:center​,实现图片的水平居中;​padding-top:50px​,50px这个数值是经过计算得到的,​padding-top​的值具体算法如下:(DIV的高度 – 图片的高度)/2,但这里要注意,根据盒模型原理,我们还要将DIV原来的高度200减去​padding-top​的值,这样显示的才是正确的,否则DIV会变高。

方法二:

思路:只用​padding​属性,通过计算求得居中

结构代码同上;

CSS样式如下:

div {width:225px; height:150px; background-color:#eee; border:#000 1px solid; padding-top:50px; padding-left:75px;}

备注:这里DIV的宽高计算都遵循盒模型原理,计算方法同上。

方法三:

思路:利用图片的​margin​属性将图片水平居中,利用DIV的​padding​属性将图片垂直居中。

结构代码同上;

CSS代码如下:

div {width:300px; height:150px; background-color:#eee; padding-top:50px; border:#000 1px solid;}

img {display:block; margin:0 auto;}

备注:

​Img​是内联元素,要设置其​margin​属性使其居中,就要将其转换为块元素​display:block;​然后利用​margin:0 auto;​实现图片的水平居中;(有的设计师为图片再加个 div 标签,然后通过 div 标签的​margin​实现居中,也可以,不过,在结构中就又多了对 div,相对麻烦点)至于垂直居中的方法和前面的都一样,就不再重述。

以上方法都是有前提的,就是必须知道 DIV 与图片的尺寸,否则无法完成垂直居中的效果。

用一行css居中并裁剪图片的方法

设置图片的裁剪尺寸非常简单,你只需在 CSS 里使用这行代码:

img {

object-fit: cover;

}

就是这样。不需要语义、包装 div 或者其他没意义的代码。

这种技术能很好地把大小不合适的头像图片裁剪为正方形或者圆形的图片。以下面那只熊的宽图片来举例。一旦把 ​object-fit:cover​技术应用在这种图片上,并且设置好宽和高,图片自己就会进行裁剪和居中。
​object-fit:cover​的裁剪方式和​background-size:cover​的完全相同,不过它是用来为 imgs、videos 和其他的媒体标签设置样式的,而不是给背景图片设置样式。

相当多的最新浏览器都支持 object-fit 技术,并且还有 polyfill 项目让你能在更老的浏览器(IE8+)里使用该技术。

本文《CSS简单的图片居中》版权归unsleepfish所有,引用CSS简单的图片居中需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • qt学习(六)数据库注册用户的实现方法
    本文介绍了在qt学习中实现数据库注册用户的方法,包括登录按钮按下后出现注册页面、账号可用性判断、密码格式判断、邮箱格式判断等步骤。具体实现过程包括UI设计、数据库的创建和各个模块调用数据内容。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算成像的原理与应用研究
    本文探讨了计算成像的原理与应用研究。首先介绍了小孔成像实验和软件方面的相关内容。随后从傅里叶光学的角度简单谈了成像的过程。成像是观测样品分布的一种方法,通过成像系统接收光的强度来呈现图像。视网膜作为接收端接收到的图像实际上是由像元组成的矩阵,每个元素代表相应位置像元接收光的强度。大脑通过对图像的分析,得出一系列信息,如识别物体、判断距离等。计算成像是一种采集记录系统,通过处理数据得到样品分布与像的对应关系,用于后续问题的分析。 ... [详细]
  • 标题: ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 一篇文章搞定css3 3d效果
    css33d学习心得卡片反转魔方banner图首先我们要学习好css33d一定要有一定的立体感通过这个图片应该清楚的了解到了x轴y轴z轴是什么概念了。首先先给大家看一个小 ... [详细]
author-avatar
无聊人生918_644
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有