【CSS】`top: 50%;` 和 `transform: translateY(-50%);`的区别和联系

news2025/1/17 17:56:05

top: 50%;transform: translateY(-50%);的区别

在某些情况下,top: 50%;transform: translateY(-50%); 可以达到类似的效果,但它们实际上具有不同的工作原理和应用场景。

  1. top: 50%;:这是一个相对定位属性,用于设置元素相对于其包含块(通常是父元素)顶部的偏移量。top: 50%; 将元素的顶部边缘移动到其包含块的顶部边缘的中心位置。这通常用于垂直居中元素。

  2. transform: translateY(-50%);:这是一个变换属性,用于通过平移元素的 Y 轴(垂直方向)来改变元素的位置。translateY(-50%); 将元素相对于其自身高度的一半向上移动,实现了垂直居中的效果。

虽然这两种方法在某些情况下可以产生相似的效果,但它们的工作原理和使用方式是不同的。

主要区别如下:

  • top: 50%; 受到包含块的影响,所以需要确保父元素具有适当的定位(如相对定位、绝对定位)和高度,以确保居中效果。它在垂直居中元素时,对父元素的定位属性有一定要求。
  • transform: translateY(-50%); 不受包含块的影响,可以直接应用于元素本身,无需考虑父元素的定位属性。它适用于垂直居中元素,并且对于绝对定位和相对定位的元素都适用。

因此,虽然在某些情况下它们可能会达到相似的效果,但在应用和工作原理上存在差异。选择使用哪种方法取决于具体的布局需求和上下文环境。

top: 50%;transform: translateY(-50%);的联系

例:需求为将子元素矩形垂直居中

  1. 当只有top: 50%; 时,矩形上边缘平移到整个高度的50%:

在这里插入图片描述
2. 当加上 transform: translateY(-50%);时,通过移动Y轴使矩形高度的中央和整个高度的中央对齐,才可以使中间的矩形实现居中对齐:
在这里插入图片描述

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

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

相关文章

P6739 [BalticOI 2014 Day1] Three Friends

[BalticOI 2014 Day1] Three Friends 题目描述 有一个字符串 S S S,对他进行操作: 将 S S S 复制为两份,存在字符串 T T T 中在 T T T 的某一位置上插入一个字符,得到字符串 U U U 现在给定 U U U,求 S S S…

【吴恩达老师《机器学习》】课后习题4之【神经网络反向传播】(代码注释详细)

前情回顾 上一周是已经给定了神经网络的最优权重参数,接着直接代到前向传播里面去,算得最终的预测值就可以了。 这周呢,需要搭建整个完整的神经网络,并且需要自己去进行训练,找到最终的这个优化的权重参数。 可能需要…

WVP PRO配置实战

WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将不带国标功能的摄像机/直播流/直播…

FPGA-DFPGL22学习2-开发平台学习

文章目录 前言一、Pango Design Suite软件的使用流程二、使用步骤1.新建一个工程2.设计输入3.配置工程4.分析与综合(编译检查)5.约束输入6.编译工程7.下载程序 总结 前言 和原子哥一起学习FPGA 开发环境:正点原子 ATK-DFPGL22G 开发板 参考…

5.2.2如何改变文件属性与权限

常用于群组、拥有者、各种身份的权限之修改的指令,如下所示: 改变一个文件的群组很简单,直接chgrp来改变,指令就是change group。要被改变的群组名称必须要在/etc/group文件内存在才行,否则就会显示错误。 假设你已经…

构造中序线索二叉树和先序线索二叉树,中序线索二叉树找寻前驱结点和后继结点,包含完整代码

一.线索二叉树的结点结构: lchildltagdatartagrchild ltag 0, lchild域指示结点的左孩子 ltag 1, lchild域指示结点的前驱 rtag 0, rchild域指示结点的右孩子 rtag 1, rchild域指示结点的后继 这里用char型作为树的数据域类型 //定义线索二叉树的结…

chatgpt赋能python:Python用于股票:掌握数据、分析趋势

Python用于股票:掌握数据、分析趋势 在当今数字化时代,投资者使用数据分析技术作出投资决策变得越来越重要,而Python正是一种无形中帮助投资者进行数据分析的强有力工具。Python是一种高级数据分析语言,具有易读易懂的语法和强大…

牛客网专项练习——C语言错题集(9)

文章目录 字符常量\0 与 逻辑假的关系不同类型变量所占空间大小运行多个 fork容易造成缓冲区溢出的字符串操作函数函数原型格式指针变量的关系运算,空指针访问存储单元BSS 段二维数组初始化 字符常量 ‘a’ 是一个字符常量,占用 1 个字节空间。 ‘\0’ …

数据结构期末复习【更新】

数据结构期末复习【更新】 1.模式匹配2.画二叉树(根据中序和后序,前序和中序)及其线索二叉树3.求叶子结点个数4.建立二叉排序树5.广义表6.求存储地址7.代码设计8.哈夫曼树9.最小生成树10.深度遍历、广度遍历、邻接表建立11.哈希表&#xff08…

【Leetcode60天带刷】day28回溯算法——93.复原IP地址 ,78.子集 , 90.子集II

​ 题目: 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xf…

【Leetcode60天带刷】day22二叉树—— 235. 二叉搜索树的最近公共祖先 ,701.二叉搜索树中的插入操作 ,450.删除二叉搜索树中的节点

​ 题目: 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先…

【Leetcode60天带刷】day23二叉树—— 669. 修剪二叉搜索树 ,108.将有序数组转换为二叉搜索树 , 538.把二叉搜索树转换为累加树

​ 题目: 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即,如果没有被移除&…

高速板材应用案例

要求如下: 高速信号部分有12.5Gbps Interlaken信号、QPI、PCIe3.0信号(后面有兼容PCIe4.0的要求),另外还有10.3125Gbps到光口信号;高速信号损耗要求: -0.8dB/inch@4GHz,-1.6dB/inch@8GHz差分信号阻抗控制有85ohm、90ohm和100ohm,单端按照50ohm控制,阻抗及线宽控制表如下…

【Leetcode60天带刷】day29回溯算法——491.递增子序列, 46.全排列, 47.全排列 II

​ 题目: 491. 递增子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递…

基于免疫优化算法的线性规划问题求解(matlab程序)

0.代码链接 基于免疫优化算法的线性规划问题求解(matlab程序)资源-CSDN文库 1.简述 免疫算法(Immune Algorithm,IA):是指以在人工免疫系统的理论为基础,实现了类似于生物免疫系统的抗原识别…

【LeetCode】动态规划 刷题训练(二)

文章目录 62. 不同路径题目解析状态转移方程完整代码 63. 不同路径 II题目解析状态转移方程完整代码 剑指 Offer 47. 礼物的最大价值题目解析状态转移方程完整代码 62. 不同路径 点击查看:不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图…

树莓派与STM32之间串口通信

目录 一、树莓派串口通信模块介绍 二、树莓派蓝牙、串口引脚映射对换步骤 1.启动串口 2. 禁用蓝牙(硬件串口与mini串口映射对换) 3.验证是否交换成功 三、树莓派安装mini串口调试助手 四、树莓派与电脑串口调试 五、树莓派与STM32串口调试 一、树…

Stable-Diffusion-webui mac m1安装

Stable-Diffusion-webui mac m1安装 推荐下载器:neat download manager 安装git python 3.10 下载地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui 我这边是通过pycharm 通过git直接拉取到本地的,下载的,最好先建…

使用AI轻松搞定UI设计;a16z:快速高效使用LLM构建应用程序;AI时代99%软件都会消失;豆瓣9.3的经典Python入门书 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 Indeed:美国5月份生成式AI职位发布量增长 20% Indeed 是美国就业门户网站,根据其最新发布的数据显示&#xff…

Golang -> Golang 的概述

Golang 的概述 Golang 的语言的特点Golang 的开发工具Golang 的版本 Golang 的语言的特点 简介: Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率 使用一个表达式来形容 Go 语言:Go C Python 说明 Go …