- CSS 教程
- CSS - 教程
- CSS - 简介
- CSS - 语法
- CSS - 选择器
- CSS - 包含
- CSS - 度量单位
- CSS - 颜色
- CSS - 背景
- CSS - 字体
- CSS - 文本
- CSS - 图像
- CSS - 链接
- CSS - 表格
- CSS - 边框
- CSS - border-block 属性
- CSS - 边框内联
- CSS - 边距
- CSS - 列表
- CSS - Padding 属性
- CSS - 光标
- CSS - 轮廓
- CSS - 维度
- CSS - 滚动条
- CSS - 内联块
- CSS - 下拉列表
- CSS - visibility 属性
- CSS - Overflow 属性
- CSS - 清除修复
- CSS - float(浮点)
- CSS - 箭头
- CSS - resize 属性
- CSS - quotes 属性
- CSS - order 属性
- CSS - Position 属性
- CSS - hypens 属性
- CSS - :hover(悬停)
- CSS - display(显示)
- CSS - focus 属性
- CSS - zoom(缩放)
- CSS - translate 属性
- CSS - Height 属性
- CSS - hyphenate-character 属性
- CSS - Width 属性
- CSS - opacity 属性
- CSS - z-index 属性
- CSS - bottom 属性
- CSS - 导航栏
- CSS - 覆盖
- CSS - 表单
- CSS - 对齐
- CSS - 图标
- CSS - 图片库
- CSS - 注释
- CSS - 加载器
- CSS - Atrribute 选择器属性
- CSS - 运算器
- CSS - root
- CSS - 盒子模型
- CSS - 计数器
- CSS - Clip (Obsolete) 属性
- CSS - writing-mode 属性
- CSS - Unicode-bidi 属性
- CSS - min-content 属性
- CSS - 全部
- CSS - inset 属性
- CSS - isolation 属性
- CSS - overscroll-behavior 属性
- CSS - justify-items 属性
- CSS - justify-self 属性
- CSS - tab-size 属性
- CSS - pointer-event 属性
- CSS - place-content 属性
- CSS - place-items 属性
- CSS - place-self 属性
- CSS - max-block-size 属性
- CSS - min-block-size 属性
- CSS - mix-blend-mode 属性
- CSS - max-inline-size 属性
- CSS - min-inline-size 属性
- CSS - offset 属性
- CSS - accent-color 属性
- CSS - user-select 属性
- CSS 高级
- CSS - grid 属性
- CSS - Grid 布局
- CSS - flexbox
- CSS - vertical-align 属性
- css - positioning
- css - layers
- css - pseudo_classes
- CSS - 伪元素
- CSS - @ 规则
- CSS 滤镜 - text-effect 属性
- CSS 分页媒体
- CSS 打印
- CSS - 布局
- CSS - 验证
- CSS - 图像精灵
- CSS - !important
- CSS - 数据类型
- CSS3 教程
- CSS - 圆角
- CSS - 边框图像
- CSS - 多种背景
- CSS - 渐变
- CSS - box-shadow 属性
- CSS - box-decoration-break 属性
- CSS - caret-color 属性
- CSS - text-shadow 属性
- CSS - 2D 转换
- CSS - 3D 变换
- CSS - transition 属性
- CSS - 动画
- CSS - 多列布局
- CSS - 盒子大小调整
- CSS - 工具提示
- CSS - buttons
- CSS - 分页
- CSS - 变量
- CSS - 媒体查询
- CSS - 值函数
- CSS - 数学函数
- CSS - Mask 属性
- CSS - shape-outside 属性
- CSS - 样式图像
- CSS - 特异性
- CSS - 自定义属性
- CSS 响应式
- CSS - 响应式网页设计 (RWD)
- CSS - 响应式设计视口
- CSS - 响应式网格视图
- CSS - 响应式媒体查询
- CSS - 响应式图像
- CSS - 响应式视频
- CSS - 响应式框架
- CSS 引用
- CSS - 所有属性列表
- CSS - 颜色引用
- CSS - 浏览器支持参考
- CSS - 网页字体
- CSS 工具
- CSS - PX 到 EM 的转换
CSS - transform-origin 属性
CSS 属性 transform-origin 有助于设置元素转换的原点。它是发生转变的点。例如,旋转中心是 rotate() 函数的变换原点。
默认情况下,transform 的原点是中心。
可能的值
CSS 属性 transform-origin 可以具有以下值:
- x-offset:一个 <length> 或 <percentage>值,用于定义设置转换原点距离框左侧的距离。
- offset-keyword:指定相应偏移值的关键字,即 left, right, top, bottom或 center。
- y-offset:一个 <length> 或 <percentage>值,用于定义设置转换原点距离框的顶部有多远。
- x-offset-keyword:指定相应偏移值的关键字,即左偏移值、偏移右偏移值或居中偏移值。它定义了设置转换原点离框左侧有多远。
- y-offset-keyword:指定相应偏移值的关键字,即顶部、底部或中心。它定义了设置转换原点距离框顶部多远。
- z-offset:一个 <length> 值,用于定义设置 z=0 原点离用户眼睛多远。<percentage>值是不可接受的,因为这会使语句无效。
下表列出了关键字和百分比值的映射:
关键词 | 百分比值 |
---|---|
left | 0% |
center | 50% |
right | 100% |
top | 0% |
bottom | 100% |
适用于
所有可转换的元素。
语法
transform-origin = x-axis y-axis z-axis;
此处的 x 轴、y 轴和 z 轴值分别表示变换原点的水平、垂直和深度位置。它们可以以各种单位指定,例如像素、百分比或关键字。
以下是编写语法的各种方法:
/* one-value syntax */
transform-origin = 20px;
transform-origin = 30%;
transform-origin = left;
/* x-offset-keyword / y-offset-keyword */
transform-origin = left top;
/* y-offset-keyword / x-offset-keyword */
transform-origin = bottom right;
/* x-offset-keyword / y-offset */
transform-origin = left 5px;
/* y-offset-keyword / x-offset-keyword */
transform-origin = bottom 10%;
/* x-offset / y-offset */
transform-origin = 3cm 5px | 25% 30%;
/* x-offset / y-offset / z-offset */
transform-origin = 3cm 5px -5px;
/* x-offset-keyword / y-offset-keyword / z-offset */
transform-origin = left top 3cm;
/* y-offset-keyword / x-offset-keyword / z-offset*/
transform-origin = bottom right 3cm;
CSS 属性 transform-origin 可以通过其中一种方式指定,即使用一个、两个或三个值,其中每个值表示一个偏移值。
1. 单值语法
- 值必须是 <length>、<percentage> 或关键字 left、center、right、top 和 bottom 之一。
- 当指定单个值(如<length>或<percentage>时,它将确定水平偏移量(x 轴)。
2. 双值语法
- 一个值必须是 <length>、<percentage>,或者是关键字 left、center 和 right 之一。
- 第二个值必须是 <length>、<percentage> 或关键字 top、center 和 bottom 之一。
- 如果指定了两个或多个值,并且其中一个值是关键字中心,则第一个值确定水平偏移量,第二个值确定垂直偏移量。
3. 三值语法
- 前两个值与两个值语法的值相同。
- 第三个值必须始终是 <length> 值,表示 Z 偏移量。
注意:对于所有SVG元素,transform-origin的初始值为0 0,但根<svg>元素和<svg>元素除外,它们是外部XML命名空间的直接后代,以及transform-origin为50%的元素。
CSS transform-origin - 示例
以下示例演示了如何使用与转换函数一起使用的各种 transform-origin 值:
<html>
<head>
<style>
#div1 {
position: relative;
height: 50px;
width: 50px;
margin: 30px;
padding: 20px;
border: 1px dotted black;
}
.sec-div {
width: 30px;
height: 30px;
padding: 20px;
position: absolute;
border: 1px solid black;
background-color: lightblue;
}
#initial-val {
transform: rotate(30deg);
transform-origin: 50% 50%;
}
#ykey-xkey-z {
transform: rotate(45deg);
transform-origin: top left 3cm;
}
#xkey-y {
transform: scale(1.2);
transform-origin: right 20%;
}
#x-y {
transform: translate(10px 30px);
transform-origin: 30px 10px;
}
#x-yNeg-percent{
transform: skewX(30deg);
transform-origin: 80% -20%;
}
</style>
</head>
<body>
<h1>The transform-origin Property</h1>
<div id="div1">
<div class="sec-div" id="initial-val">50% 50%</div>
</div>
<p>transform: rotate(30deg);
transform-origin: 50% 50%;</p>
<div id="div1">
<div class="sec-div" id="ykey-xkey-z">top left 3cm</div>
</div>
<p>transform: rotate(45deg);
transform-origin: top left 3cm;</p>
<div id="div1">
<div class="sec-div" id="xkey-y">right 20%</div>
</div>
<p>transform: scale(1.2);
transform-origin: right 20%;</p>
<div id="div1">
<div class="sec-div" id="x-y">30px 10px</div>
</div>
<p>transform: translate(10px 30px);
transform-origin: 30px 10px;</p>
<div id="div1">
<div class="sec-div" id="x-yNeg-percent">100% -30%</div>
</div>
<p>transform: skewX(30deg);
transform-origin: 80% -20%;</p>
</body>
</html>