CSS PortalCSS Portal
Menu
  • CSS Generators
  • CSS Resources
  • CSS Tools
  • HTML Resources
  • Blog
  1. Home
  2. CSS Properties
  3. Transform-origin

CSS transform-origin Property

Description

The transform-origin property lets you modify the origin for transformations of an element. For example, the transform-origin of the rotate() function is the centre of rotation.

Initial value
50% 50%
Applies to
Transformable elements
Inherited
No
Media
Visual
Computed value
For <length> the absolute value, otherwise a percentage
Animatable
Yes
CSS Version
CSS3
JavaScript syntax
object.style.transformOrigin

Syntax

transform-origin: [ left | center | right | top | bottom | <percentage> | <length> ]
 | 
   [ left | center | right | <percentage> | <length> ]
  [ top | center | bottom | <percentage> | <length> ] <length>?
 |
   [ center | [ left | right ] ] && [ center | [ top | bottom ] ] <length>?

Values

  • <percentage>A percentage for the horizontal offset is relative to the width of the bounding box. A percentage for the vertical offset is relative to height of the bounding box. The value for the horizontal and vertical offset represent an offset from the top left corner of the bounding box.
  • <length>A length value gives a fixed length as the offset. The value for the horizontal and vertical offset represent an offset from the top left corner of the bounding box.
  • topComputes to '0%' for the vertical position.
  • rightComputes to '100%' for the horizontal position.
  • bottomComputes to '100%' for the vertical position.
  • leftComputes to '0%' for the horizontal position.
  • centerComputes to '50%' ('left 50%') for the horizontal position if the horizontal position is not otherwise specified, or '50%' ('top 50%') for the vertical position if it is.

Example

<h2>Example of using the transform-origin property in CSS</h2> 
<div class="static"><div class="test" > 50% 50% 0 </div></div>
<div class="static"><div class="test2" > left top </div></div>
<div class="static"><div class="test3"> center bottom </div></div>
<br>
<div class="static"><div class="test4"> 100% 0% </div></div>
<div class="static"><div class="test5"> 50% 50% 250px </div></div>
<div class="static"><div class="test6"> 50% top -250px </div></div>
.static {
   margin: 10px;
   background: gray;
   display: inline-block; 
} 
div {
   width: 180px; 
   height: 100px; 
   line-height: 100px;
   text-align: center; 
} 
.test, .test3, .test5 { 
   background: plum;  
} 
.test2, .test4, .test6 { 
   background: orange;  
}
@ -webkit-keyframes iliketomoveit {
   100% { 
      -moz-transform: rotate(2turn);
      -webkit-transform: rotate(2turn);
      -ms-transform: rotate(2turn);
      transform: rotate(2turn);
   } 
} 
@keyframes iliketomoveit { 
   100% { 
      -moz-transform: rotate(2turn);
      -webkit-transform: rotate(2turn);
      -ms-transform: rotate(2turn);
      transform: rotate(2turn);
   } 
}
.test:hover {
   -webkit-animation: iliketomoveit 2s linear infinite; 
   animation: iliketomoveit 2s linear infinite;
   transform-origin: 50% 50% 0; 
   -webkit-transform-origin: 50% 50% 0; 
   -moz-transform-origin: 50% 50% 0; 
   -ms-transform-origin: 50% 50% 0; 
}  
.test2:hover { 
   -webkit-animation: iliketomoveit 2s linear infinite;
   animation: iliketomoveit 2s linear infinite; 
   transform-origin: left top; 
   -webkit-transform-origin : left top; 
   -moz-transform-origin: left top; 
   -ms-transform-origin: left top; 
} 
.test3:hover { 
   -webkit-animation: iliketomoveit 2s linear infinite; 
   animation: iliketomoveit 2s linear infinite; 
   transform-origin: center bottom; 
   -webkit-transform-origin: center bottom; 
   -moz-transform-origin: center bottom; 
   -ms-transform-origin: center bottom; 
}  
.test4:hover { 
   -webkit-animation: iliketomoveit 2s linear infinite; 
   animation: iliketomoveit 2s linear infinite; 
   transform-origin: 100% 0%;
   -webkit-transform-origin: 100% 0%;
   -moz-transform-origin: 100% 0%;
   -ms-transform-origin: 100% 0%;
}  
.test5 {
    -webkit-animation: iliketomoveit 5s ease-out infinite; 
    animation: iliketomoveit 5s ease-out infinite; 
    transform-origin: 50% 50% 250px;
   -webkit-transform-origin: 50% 50% 250px; 
   -moz-transform-origin: 50% 50% 250px; 
   -ms-transform-origin: 50% 50% 250px;
   transform: scale3d(0.5, -1, 2); 
   -webkit-transform: scale3d(0.5, -1, 2); 
   -moz-transform: scale3d(0.5, -1, 2); 
   -ms-transform: scale3d(0.5, -1, 2); 
}  
.test6 {
   -webkit-animation: iliketomoveit 5s ease-out infinite; 
   animation: iliketomoveit 5s ease-out infinite;
   transform-origin: 50% top -250px; 
   -webkit-transform-origin: 50% top -250px;
   -moz-transform-origin: 50% top -250px; 
   -ms-transform-origin: 50% top -250px;
   transform: scale3d(0.5, -1, 2); 
   -webkit-transform: scale3d(0.5, -1, 2); 
   -moz-transform: scale3d(0.5, -1, 2);
   -ms-transform: scale3d(0.5, -1, 2); 
}  

Browser Support

Desktop
Explorer Edge Chrome Firefox Opera Safari
10123616239
Tablets / Mobile
Android Chrome Firefox Opera Safari Samsung
4.436162493.0

Last updated by CSSPortal on: 2nd November 2019


Share this Page

If you have enjoyed using CSSPortal, please consider sharing this page with other users, just click on your preferred social media link or copy the webpage from the link below.

URL
Sidebar

CSS & HTML References

  • CSS At-Rules
    • @charset
    • @document
    • @font-face
    • @import
    • @keyframes
    • @media
    • @namespace
    • @page
    • @supports
    • @viewport
  • CSS Data Types
    • angle
    • basic-shape
    • blend-mode
    • color
    • frequency
    • gradient
    • image
    • integer
    • length
    • number
    • percentage
    • position
    • ratio
    • resolution
    • string
    • time
    • url
  • CSS Functions
    • attr
    • blur
    • brightness
    • calc
    • circle
    • contrast
    • drop-shadow
    • ellipse
    • grayscale
    • hsl
    • hsla
    • hue-rotate
    • inset
    • invert
    • linear-gradient
    • matrix
    • matrix3d
    • opacity
    • perspective
    • polygon
    • radial-gradient
    • repeating-linear-gradient
    • repeating-radial-gradient
    • rgb
    • rgba
    • rotate
    • rotate3d
    • rotateX
    • rotateY
    • rotateZ
    • saturate
    • scale
    • scale3d
    • scaleX
    • scaleY
    • scaleZ
    • sepia
    • skew
    • skewX
    • skewY
    • translate
    • translate3d
    • translateX
    • translateY
    • translateZ
  • CSS Properties
    • align-content
    • align-items
    • align-self
    • all
    • animation
    • animation-delay
    • animation-direction
    • animation-duration
    • animation-fill-mode
    • animation-iteration-count
    • animation-name
    • animation-play-state
    • animation-timing-function
    • backface-visibility
    • background
    • background-attachment
    • background-blend-mode
    • background-clip
    • background-color
    • background-image
    • background-origin
    • background-position
    • background-repeat
    • background-size
    • border
    • border-bottom
    • border-bottom-color
    • border-bottom-left-radius
    • border-bottom-right-radius
    • border-bottom-style
    • border-bottom-width
    • border-collapse
    • border-color
    • border-image
    • border-image-outset
    • border-image-repeat
    • border-image-slice
    • border-image-source
    • border-image-width
    • border-left
    • border-left-color
    • border-left-style
    • border-left-width
    • border-radius
    • border-right
    • border-right-color
    • border-right-style
    • border-right-width
    • border-spacing
    • border-style
    • border-top
    • border-top-color
    • border-top-left-radius
    • border-top-right-radius
    • border-top-style
    • border-top-width
    • border-width
    • bottom
    • box-decoration-break
    • box-shadow
    • box-sizing
    • break-after
    • break-before
    • break-inside
    • caption-side
    • caret-color
    • clear
    • clip-path
    • color
    • column-count
    • column-fill
    • column-rule
    • column-rule-color
    • column-rule-style
    • column-rule-width
    • column-span
    • column-width
    • columns
    • content
    • counter-increment
    • counter-reset
    • counter-set
    • cursor
    • direction
    • display
    • empty-cells
    • filter
    • flex
    • flex-basis
    • flex-direction
    • flex-flow
    • flex-grow
    • flex-shrink
    • flex-wrap
    • float
    • font
    • font-family
    • font-feature-settings
    • font-kerning
    • font-language-override
    • font-size
    • font-size-adjust
    • font-stretch
    • font-style
    • font-synthesis
    • font-variant
    • font-variant-alternates
    • font-variant-caps
    • font-variant-east-asian
    • font-variant-ligatures
    • font-variant-numeric
    • font-variant-position
    • font-weight
    • grid
    • grid-area
    • grid-auto-columns
    • grid-auto-flow
    • grid-auto-rows
    • grid-column
    • grid-column-end
    • grid-column-gap
    • grid-column-start
    • grid-gap
    • grid-row
    • grid-row-end
    • grid-row-gap
    • grid-row-start
    • grid-template
    • grid-template-areas
    • grid-template-columns
    • grid-template-rows
    • hanging-punctuation
    • height
    • hyphens
    • image-orientation
    • justify-content
    • justify-items
    • justify-self
    • left
    • letter-spacing
    • line-break
    • line-height
    • list-style
    • list-style-image
    • list-style-position
    • list-style-type
    • margin
    • margin-bottom
    • margin-left
    • margin-right
    • margin-top
    • max-height
    • max-width
    • min-height
    • min-width
    • mix-blend-mode
    • object-fit
    • object-position
    • opacity
    • order
    • orphans
    • outline
    • outline-color
    • outline-offset
    • outline-style
    • outline-width
    • overflow
    • overflow-wrap
    • overflow-x
    • overflow-y
    • padding
    • padding-bottom
    • padding-left
    • padding-right
    • padding-top
    • perspective
    • perspective-origin
    • place-content
    • place-items
    • place-self
    • position
    • quotes
    • resize
    • right
    • shape-image-threshold
    • shape-margin
    • shape-outside
    • tab-size
    • table-layout
    • text-align
    • text-align-last
    • text-combine-upright
    • text-decoration
    • text-decoration-color
    • text-decoration-line
    • text-decoration-style
    • text-emphasis
    • text-emphasis-color
    • text-emphasis-position
    • text-emphasis-style
    • text-indent
    • text-justify
    • text-orientation
    • text-overflow
    • text-shadow
    • text-transform
    • text-underline-position
    • top
    • transform
    • transform-origin
    • transform-style
    • transition
    • transition-delay
    • transition-duration
    • transition-property
    • transition-timing-function
    • unicode-bidi
    • vertical-align
    • visibility
    • white-space
    • widows
    • width
    • word-break
    • word-spacing
    • word-wrap
    • writing-mode
    • z-index
  • CSS Pseudo Classes
    • :active
    • :checked
    • :default
    • :disabled
    • :empty
    • :enabled
    • :first-child
    • :first-of-type
    • :focus
    • :fullscreen
    • :hover
    • :in-range
    • :indeterminate
    • :invalid
    • :lang
    • :last-child
    • :last-of-type
    • :link
    • :not
    • :nth-child
    • :nth-last-child
    • :nth-last-of-type
    • :nth-of-type
    • :only-child
    • :only-of-type
    • :optional
    • :out-of-range
    • :read-only
    • :read-write
    • :required
    • :root
    • :target
    • :valid
    • :visited
  • CSS Pseudo Elements
    • ::after
    • ::before
    • ::first-letter
    • ::first-line
    • ::placeholder
    • ::selection
  • HTML Tags
    • a
    • abbr
    • address
    • area
    • article
    • aside
    • audio
    • b
    • base
    • bdi
    • bdo
    • blockquote
    • body
    • br
    • button
    • canvas
    • caption
    • cite
    • code
    • col
    • colgroup
    • comment
    • datalist
    • dd
    • del
    • details
    • dfn
    • dialog
    • div
    • dl
    • doctype
    • dt
    • em
    • embed
    • fieldset
    • figcaption
    • figure
    • footer
    • form
    • h1
    • h2
    • h3
    • h4
    • h5
    • h6
    • head
    • header
    • hr
    • html
    • i
    • iframe
    • img
    • input
    • ins
    • kbd
    • keygen
    • label
    • legend
    • li
    • link
    • map
    • mark
    • menu
    • meta
    • meter
    • nav
    • noscript
    • object
    • ol
    • optgroup
    • option
    • output
    • p
    • param
    • picture
    • pre
    • progress
    • q
    • rp
    • rt
    • ruby
    • s
    • samp
    • script
    • section
    • select
    • small
    • source
    • span
    • strong
    • style
    • sub
    • summary
    • sup
    • table
    • tbody
    • td
    • textarea
    • tfoot
    • th
    • thead
    • time
    • title
    • tr
    • track
    • u
    • ul
    • var
    • video
    • wbr
  • Sponsors
  • Learn Wordpress
    Wordpress hosting. Theme and plugin reviews. Wordpress development tips.
    Templatic
    Wordpress Themes, Cloud Hosting, Backups and Webmaster Tips.
    A2 Web Hosting
    Shared hosting, Reseller hosting, Cloud hosting, Dedicated hosting.
    Online Password Manager
    Access your passwords from any computer, no need to remember all of your passwords.
    Advertise Here
    Advertise your company and products here!

    About CSSPortal

    CSS Portal is home to many examples of CSS and how it can be used in website design. Here you'll find all CSS properties and many CSS generators to help with all your design needs.

    Friends

    • Expand URL
    • Password Manager
    • Website Tools & Generators

    CSSPortal

    • Donate to CSSPortal
    • Privacy Policy
    • Contact Us
    • CSS Blog

    Copyright © 2022, CSSPortal.com All rights reserved.