css中元素水平居中的方式

文章目录

  • 前言
  • 水平居中:
  • 垂直居中
    • 方法一: text-align: center+display: table-cell
    • 方法二:父元素静态定位子元素通过相对定位来实现
    • 方法三:通过静态和相对定位
    • 方法四
  • css图片居中用text-align:center无效怎么回事?
  • 如何让图片在DIV中水平和垂直两个方向都居中?
    • 利用​text-align​属性将图片水平居中,然后设置​padding-top​的值使其垂直居中。
    • 只用​padding​属性,通过计算求得居中
    • 利用图片的​margin​属性将图片水平居中,利用DIV的​padding​属性将图片垂直居中。
  • 用一行css居中并裁剪图片的方法
  • 后言

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:前端面试
🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹
💖感谢大家支持!您的观看就是作者创作的动力

水平居中:

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

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

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

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

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

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

垂直居中

方法一: text-align: center+display: table-cell

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;} 将所有元素的margin和padding设置为0,以确保没有多余的空白。
  • div {width:500px; border:1px solid #666; height:500px; background:url(“/statics/images/w3c/intro.png”) center no-repeat;} 设置div元素的宽度、边框、高度以及背景图片,并使用center属性将背景图像水平和垂直居中显示。
* {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​的值使其垂直居中。

结构如下

<div><img src="images/tt.gif" width="150" height="100" /></div>

CSS样式如下:

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

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

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

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

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,相对麻烦点)至于垂直居中的方法和前面的都一样,就不再重述。

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

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

img {object-fit: cover;}

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

这种技术能很好地把大小不合适的头像图片裁剪为正方形或者圆形的图片。以下面那只熊的宽图片来举例。一旦把 ​object-fit:cover ​技术应用在这种图片上,并且设置好宽和高,图片自己就会进行裁剪和居中。

在这里插入图片描述
object-fit:cover​的裁剪方式和​background-size:cover​的完全相同,不过它是用来为 imgs、videos 和其他的媒体标签设置样式的,而不是给背景图片设置样式。
相当多的最新浏览器都支持 object-fit 技术,并且还有 polyfill 项目让你能在更老的浏览器(IE8+)里使用该技术。

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力

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

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

相关文章

接口自动化测试思路和实战之模块化测试脚本框架

模块化测试脚本框架 需要创建独立的可描述的模块、程序片断以及待测试应用程序的脚本。这些小脚本进行组合&#xff0c;就能组成用来独立运行特定的测试的测试用例脚本。 场景一: 开发把 access_token接口地址由/cgi-bin/token 改为/cgi-bin/get_token或者修改参数等 》开发把…

【LeetCode】链式二叉树OJ题---C语言版

链式二叉树OJ题 一、单值二叉树&#xff08;1&#xff09;题目描述&#xff1a;&#xff08;2&#xff09;思路表述&#xff1a;&#xff08;3&#xff09;代码实现&#xff1a; 二、二叉树最大深度&#xff08;1&#xff09;题目描述&#xff1a;&#xff08;2&#xff09;思路…

解套方式之认识T+0

在炒股中&#xff0c;大盘弱势调整中投资者如果被套&#xff0c;又不愿意止损离场&#xff0c;为了尽量减少亏损、摊低买入总成本尽可能早日解套&#xff0c;有一种操作对策——做“T0”摊低买入总成本&#xff0c;这种操作方式通过经常性的赚取短线利润&#xff0c;达到最终降…

docker容器中创建非root用户

简介 用 docker 也有一段时间了&#xff0c;一直在 docker 容器中使用 root 用户肆意操作。直到部署 stable diffusion webui 我才发现无法使用 root 用户运行它&#xff0c;于是才幡然醒悟&#xff1a;是时候搞个非 root 用户了。 我使用的 docker 镜像文件是 centos:centos…

LeetCode的几道题

一、捡石头 292 思路就是&#xff1a; 谁面对4块石头的时候&#xff0c;谁就输&#xff08;因为每次就是1-3块石头&#xff0c;如果剩下4块石头&#xff0c;你怎么拿&#xff0c;我都能把剩下的拿走&#xff0c;所以你就要想尽办法让对面面对4块石头的倍数&#xff0c; 比如有…

Linux shell中的函数定义、传参和调用

Linux shell中的函数定义、传参和调用&#xff1a; 函数定义语法&#xff1a; [ function ] functionName [()] { } 示例&#xff1a; #!/bin/bash# get limit if [ $# -eq 1 ] && [ $1 -gt 0 ]; thenlimit$1echo -e "\nINFO: input limit is $limit" e…

KM算法,C语言版本和Matlab版本

在这里我们不多介绍原理&#xff0c;直接看代码就好了。 C语言版本 #include<stdio.h> #include<string.h> const int maxn305; const int INF(1<<30)-1; int g[maxn][maxn]; int lx[maxn],ly[maxn]; int match[maxn]; bool visx[maxn],visy[maxn]; int sla…

C 标准库 <math.h>

C 标准库 <math.h> C <math.h>头文件声明了一组函数来执行数学运算&#xff0c;例如&#xff1a;sqrt()计算平方根&#xff0c;log()查找数字的自然对数&#xff0c;等等。 math.h 头文件定义了各种数学函数和一个宏。在这个库中所有可用的函数都带有一个 double…

CPU 使用率和负载Load

优质博文&#xff1a;IT-BLOG-CN 一、CPU 使用率 CPU使用率是 CPU处理非空闲任务所花费的时间百分比 。例如单核CPU 1s内非空闲态运行时间为0.8s&#xff0c;那么它的CPU使用率就是80%&#xff1b;双核CPU 1s内非空闲态运行时间分别为0.4s和0.6s&#xff0c;那么&#xff0c;…

IDEA2023安装教程(超详细)

文章目录 前言安装IntelliJ IDEA1. 下载IntelliJ IDEA2. 运行安装程序3. 选择安装路径4. 选择启动器设置5. 等待安装完成6. 启动IntelliJ IDEA7. 配置和设置8. 激活或选择许可证9. 开始使用 总结 前言 随着软件开发的不断发展&#xff0c;IntelliJ IDEA成为了许多开发人员首选…

数据结构 / 队列 / 循环队列 / 队列元素个数计算和遍历代码

1.队列元素个数计算和遍历代码 void output(queue *list) {if(NULLlist||list->frontlist->rear) //判断队列是否创建或空{puts("error or empty");return;}//循环结束判断条件是看是否到队尾//循环自增需要%MAXSIZEfor(int ilist->front; i!list->rear;…

基于JSP的网络考试系统/在线考试系统的设计与实现

摘 要 网络考试系统是由高校的一个网络考试&#xff0c;按照章程自主开展网络考试系统。网络考试是实施素质教育的重要途径和有效方式&#xff0c;在加强校园文化建设、提高学生综合素质、引导学生适应社会、促进学生成才就业等方面发挥着重要作用&#xff0c;是新形势下有效凝…

HNU-青蛙与蚊子

【问题描述】 有 n 只青蛙位于坐标轴 OX 上&#xff0c;对于每只青蛙&#xff0c;有两个已知值 xi、ti&#xff0c;表示第 i 只青蛙在坐标的位置&#xff08;各不相同&#xff09;以及它的舌头的长度。同样有 m 只蚊子一只接一只的落到坐标轴上&#xff0c;对于每只蚊子&#x…

RHCE学习笔记(RHEL8) - RH294

Chapter Ⅰ 介绍Ansible ansible ansible是一款开源自动化平台 ansible围绕一种无代理架构构建&#xff0c;在控制节点上安装ansible&#xff0c;且客户端不需要任何特殊的代理软件&#xff1b;ansible使用SSH等标准协议连接受管主机&#xff0c;并在受管主机上运行代码或命令来…

在cmd下查看mysql表的结构信息

我提前已经在mysql数据库中创建了一个表&#xff1a; 在cmd下&#xff0c;登录mysql以后&#xff0c;使用命令describe 表名、或者explain 表名可以查看表结构信息。但在实践中&#xff0c;查看表结构&#xff0c;多用describe命令&#xff0c;而查看执行计划用explain。 例…

p标签在div中居中

新建一个html文件&#xff0c;命名为test.html&#xff0c;用于讲解如何在css中让div中的p标签居中。 在test.html文件内&#xff0c;在div内&#xff0c;使用p标签创建一行文字&#xff0c;用于测试。 在test.html文件内&#xff0c;设置div标签的class属性为mydiv。 在…

2312skia,12画布包与路径包

画布包 Skia现在提供了,在Web上轻松部署图形API的WebAssembly构建,即CanvasKit. CanvasKit提供了测试新的Canvas和SVG平台API的地基,从而在Web平台上,实现快节奏开发.还可用作要求如Skia的Lottie动画支持等边角特征的自定义Web应用的部署机制. 特征 1,按允许直接绘画到HTML画…

MySQL - 多表查询

文章目录 1.聚合查询2.分组查找3.联合查询内连接外连接自连接子查询合并查询 SQL查询各关键字的执行先后顺序 总结 本文开始 1.聚合查询 聚合查询&#xff0c;使用的是聚合函数&#xff1a;count()&#xff0c;sum()&#xff0c;avg()&#xff0c;max()&#xff0c;min coun…

Hdoop学习笔记(HDP)-Part.05 Yum源配置

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

mysql常用命令行代码

连接到 MySQL 服务器&#xff1a; mysql -u your_username -p替换 your_username 为你的 MySQL 用户名。系统会提示你输入密码。 退出 MySQL 命令行&#xff1a; EXIT;或者按 Ctrl D。 显示所有数据库&#xff1a; SHOW DATABASES;选择数据库&#xff1a; USE your_database…