Table of Contents
CSS中的Transform属性
在CSS中的元素旋转
Syntax
CSS中可用的旋转变换类型
示例1:围绕其中心旋转一个正方形
Example 2: Rotating an element around its bottom-right corner
Example 3: Rotating animation that changes the element's base placement
Conclusion
Home Web Front-end CSS Tutorial How to set the base position of a rotated element in CSS?

How to set the base position of a rotated element in CSS?

Aug 27, 2023 pm 02:21 PM

如何在 CSS 中设置旋转元素的基本位置?

CSS, or Cascading Style Sheets, is a powerful tool that provides a range of effects to create beautiful, dynamic web pages. One of the most important tools in the CSS is the ability to rotate elements. Rotating elements, create a unique designs and animations that capture users' attention and help communicate the message. Here, we will explore how to set a rotated element's base placement in CSS.

CSS中的Transform属性

The Transform property allows to apply various transformations to elements, including rotation, scaling, and skewing. When a transform is applied to an element, the base location of the element changes, making it difficult to position the element correctly.

Rotate, scale, skew and translate are sub-properties of the transform property. Here, we will focus on the rotated sub-property. Rotate property allows to rotate an element around a fixed point on the page.

在CSS中的元素旋转

To rotate an element in CSS, the transform property is used with the rotate() function.

Syntax

<style>
   scc-selector{
      transform: rotate(angle);
   }
</style>
Copy after login

在这里,"angle" 是以度为单位指定要应用于元素的旋转量。

For example, the following code will rotate an element by 30 degrees −

.rotate {
   transform: rotate(30deg);
}
Copy after login

Rotated element's position is adjusted according to the rotation angle. This can cause the element to shift from its original position, which can be problematic to keep it properly.

CSS中可用的旋转变换类型

在CSS中有各种类型的旋转变换可用,如rotate()、rotateX()、rotateY()和rotateZ()。rotate()函数围绕元素的中心点旋转,而rotateX()和rotateY()分别围绕元素的水平和垂直轴旋转。rotateZ()函数围绕元素的z轴旋转,该轴垂直于屏幕。

设置旋转元素的基础位置的重要性

  • The base position of the rotated element determines where it is anchored in relation to its container. By default, the base placement is set to the center of the element. However, the base placement can be adjusted using the transform-origin property. This is important because it can affect how the element is positioned on the page.

  • 使用 transform-origin 属性来调整旋转元素的基本位置

  • The transform-origin property can be used to adjust the base position of a rotated element. This property specifies the point around which an element is rotated. By default, the base placement is the center of the element, which means the element is rotated around its center point.

  • To adjust the base placement, we can set the transform-origin property to a different value.

The following code will set the base placement to the top left corner of the element −

.placed {
   transform-origin: top left;
   transform: rotate(30deg);
}
Copy after login

Let's take a look at some examples of setting a rotated element's base placement in CSS.

示例1:围绕其中心旋转一个正方形

在这个例子中,我们使用transform属性将正方形旋转30度,基准位置默认设置为中心。

<!DOCTYPE html>
<html>
<head>
   <style>
      body { text-align: center; }
      .outer-line {
         position: relative;
         height: 200px;
         width: 200px;
         margin: auto;
         padding: 5px;
         border: 4px solid #fbf;
      }
      #box {
         width: 100px;
         height: 100px;
         background-color: red;
         transform: rotate(30deg);
      }
   </style>
</head>
   <body>
      <h3>The square is rotated by 30 degrees around its center point</h3>
      <div class="outer-line">
         <div id="box"></div>
      </div>
   </body>
</html>
Copy after login

Example 2: Rotating an element around its bottom-right corner

In this example, we rotate the square by 30 degrees using the transform property, and then set the transform-origin property to bottom right.

<html>
<head>
   <style>
      body { text-align: center; }
      .outer-line {
         position: relative;
         height: 200px;
         width: 200px;
         margin: auto;
         padding: 5px;
         border: 4px solid #fbf;
      }
      #box {
         width: 100px; height: 100px;
         background-color: red;
         transform: rotate(30deg);
         transform-origin: bottom right;
         position: absolute;
         bottom: 50px;
         right: 50px;
      }
   </style>
</head>
   <body>
      <h3>The square is rotated by 30 degrees around its bottom-right corner</h3>
      <div class="outer-line">
         <div id="box"></div>
      </div>
   </body>
</html>
Copy after login

Example 3: Rotating animation that changes the element's base placement

In this example, we create a square with a red background color in a container and set its initial position using position: absolute, top, and left values. We also set its width and height to 100px, and then use the animation property to apply a keyframe animation called rotate. This animation runs for 2 seconds and repeats infinitely.

最后,这个动画创建了一个旋转效果,其中元素的基本位置从中心变为左上角,然后变为右下角,最后又回到中心。

<html>
<head>
   <style>
      body { text-align: center; }
      .container {
         position: relative;
         height: 200px;
         width: 200px;
         margin: auto;
         padding: 5px;
         border: 4px solid #fbf;
      }
      .sqr {
         position: absolute;
         top: 50px;
         left: 50px;
         width: 100px;
         height: 100px;
         background-color: red;
         animation: rotate 2s infinite;
      }
      @keyframes rotate {
         0% {
            transform: rotate(0deg);
            transform-origin: center;
         }
         50% {
            transform: rotate(180deg);
            transform-origin: top left;
         }
         100% {
            transform: rotate(360deg);
            transform-origin: bottom right;
         }
      }
   </style>
</head>
   <body>
      <h3>Rotating animation that changes the element's base placement</h3>
      <div class="container">
         <div class="sqr"></div>
      </div>
   </body>
</html>
Copy after login

Conclusion

在这里,我们讨论了如何使用CSS旋转元素。通过按照本文中给出的示例,我们可以确保旋转的元素在不同设备上的位置正确且一致。

The above is the detailed content of How to set the base position of a rotated element in CSS?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Making Your First Custom Svelte Transition Making Your First Custom Svelte Transition Mar 15, 2025 am 11:08 AM

The Svelte transition API provides a way to animate components when they enter or leave the document, including custom Svelte transitions.

Working With GraphQL Caching Working With GraphQL Caching Mar 19, 2025 am 09:36 AM

If you’ve recently started working with GraphQL, or reviewed its pros and cons, you’ve no doubt heard things like “GraphQL doesn’t support caching” or

Show, Don't Tell Show, Don't Tell Mar 16, 2025 am 11:49 AM

How much time do you spend designing the content presentation for your websites? When you write a new blog post or create a new page, are you thinking about

Building an Ethereum app using Redwood.js and Fauna Building an Ethereum app using Redwood.js and Fauna Mar 28, 2025 am 09:18 AM

With the recent climb of Bitcoin’s price over 20k $USD, and to it recently breaking 30k, I thought it’s worth taking a deep dive back into creating Ethereum

Creating Your Own Bragdoc With Eleventy Creating Your Own Bragdoc With Eleventy Mar 18, 2025 am 11:23 AM

No matter what stage you’re at as a developer, the tasks we complete—whether big or small—make a huge impact in our personal and professional growth.

What the Heck Are npm Commands? What the Heck Are npm Commands? Mar 15, 2025 am 11:36 AM

npm commands run various tasks for you, either as a one-off or a continuously running process for things like starting a server or compiling code.

A bit on ci/cd A bit on ci/cd Apr 02, 2025 pm 06:21 PM

I&#039;d say "website" fits better than "mobile app" but I like this framing from Max Lynch:

Let's use (X, X, X, X) for talking about specificity Let's use (X, X, X, X) for talking about specificity Mar 24, 2025 am 10:37 AM

I was just chatting with Eric Meyer the other day and I remembered an Eric Meyer story from my formative years. I wrote a blog post about CSS specificity, and

See all articles