กวดวิชาCSS

CSS HOME บทนำ CSS ไวยากรณ์ CSS ตัวเลือก CSS CSS วิธีการ ความคิดเห็น CSS CSS สี พื้นหลัง CSS CSS Borders CSS Margins CSS Padding CSS ความสูง/ความกว้าง โมเดลกล่อง CSS CSS Outline CSS Text แบบอักษร CSS ไอคอน CSS ลิงค์ CSS รายการ CSS ตาราง CSS จอแสดงผล CSS CSS ความกว้างสูงสุด ตำแหน่ง CSS CSS Z-ดัชนี CSS Overflow CSS Float CSS Inline-block CSS Align CSS Combinators CSS Pseudo-class CSS Pseudo-element CSS ความทึบ แถบนำทาง CSS CSS Dropdowns CSS Image Gallery CSS Image Sprites CSS Attr Selectors แบบฟอร์ม CSS CSS Counters เค้าโครงเว็บไซต์ CSS หน่วย CSS ความจำเพาะของ CSS CSS !สำคัญ ฟังก์ชันคณิตศาสตร์ CSS

CSS ขั้นสูง

CSS มุมโค้งมน รูปภาพ CSS Border พื้นหลัง CSS CSS สี คำหลักสี CSS CSS Gradients CSS Shadows เอฟเฟกต์ข้อความ CSS CSS Web Fonts การแปลง CSS 2D การแปลง CSS 3D การเปลี่ยน CSS ภาพเคลื่อนไหว CSS CSS Tooltips CSS สไตล์รูปภาพ ภาพสะท้อน CSS CSS วัตถุพอดี CSS วัตถุตำแหน่ง CSS Masking ปุ่ม CSS CSS Pagination CSS หลายคอลัมน์ ส่วนต่อประสานผู้ใช้ CSS ตัวแปร CSS ขนาดกล่อง CSS CSS Media Queries ตัวอย่าง CSS MQ CSS Flexbox

CSS Responsive

แนะนำ RWD วิวพอร์ต RWD RWD Grid View แบบสอบถามสื่อ RWD รูปภาพ RWD วิดีโอ RWD กรอบงาน RWD เทมเพลต RWD

CSS Grid

บทนำกริด คอนเทนเนอร์กริด รายการกริด

CSS SASS

กวดวิชา SASS

ตัวอย่างCSS

เทมเพลต CSS ตัวอย่าง CSS แบบทดสอบ CSS แบบฝึกหัด CSS ใบรับรอง CSS

การอ้างอิงCSS

การอ้างอิง CSS ตัวเลือก CSS ฟังก์ชัน CSS CSS อ้างอิง Aural CSS Web Safe Fonts CSS Animable หน่วย CSS ตัวแปลง CSS PX-EM CSS สี ค่าสี CSS ค่าดีฟอลต์ CSS รองรับเบราว์เซอร์ CSS

การแปลง CSS 2D


การแปลง CSS 2D

การแปลง CSS ช่วยให้คุณย้าย หมุน ปรับขนาด และองค์ประกอบเอียงได้

วางเมาส์เหนือองค์ประกอบด้านล่างเพื่อดูการแปลง 2D:

2D หมุน

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับคุณสมบัติ CSS ต่อไปนี้:

  • transform

รองรับเบราว์เซอร์

ตัวเลขในตารางระบุเบราว์เซอร์รุ่นแรกที่สนับสนุนคุณสมบัติอย่างสมบูรณ์

Property
transform 36.0
10.0
16.0
9.0
23.0

วิธีการแปลง CSS 2D

ด้วยคุณสมบัติ CSS transformคุณสามารถใช้วิธีการแปลง 2D ต่อไปนี้:

  • translate()
  • rotate()
  • scaleX()
  • scaleY()
  • scale()
  • skewX()
  • skewY()
  • skew()
  • matrix()

เคล็ดลับ:คุณจะได้เรียนรู้เกี่ยวกับการแปลง 3 มิติในบทต่อไป


การแปล () วิธีการ

แปลภาษา

วิธี การtranslate()ย้ายองค์ประกอบจากตำแหน่งปัจจุบัน (ตามพารามิเตอร์ที่กำหนดสำหรับแกน X และแกน Y)

ตัวอย่างต่อไปนี้ย้าย <div> องค์ประกอบ 50 พิกเซลไปทางขวา และ 100 พิกเซลลงจากตำแหน่งปัจจุบัน:

ตัวอย่าง

div {
  transform: translate(50px, 100px);
}

การหมุน () วิธีการ

หมุน

วิธี การrotate()หมุนองค์ประกอบตามเข็มนาฬิกาหรือทวนเข็มนาฬิกาตามระดับที่กำหนด

ตัวอย่างต่อไปนี้จะหมุนองค์ประกอบ <div> ตามเข็มนาฬิกาเป็น 20 องศา:

ตัวอย่าง

div {
  transform: rotate(20deg);
}

การใช้ค่าลบจะหมุนองค์ประกอบทวนเข็มนาฬิกา

ตัวอย่างต่อไปนี้จะหมุนองค์ประกอบ <div> ทวนเข็มนาฬิกาเป็น 20 องศา:

ตัวอย่าง

div {
  transform: rotate(-20deg);
}


มาตราส่วน() วิธีการ

มาตราส่วน

วิธี การscale()นี้จะเพิ่มหรือลดขนาดขององค์ประกอบ (ตามพารามิเตอร์ที่กำหนดสำหรับความกว้างและความสูง)

ตัวอย่างต่อไปนี้จะเพิ่มองค์ประกอบ <div> เป็นสองเท่าของความกว้างเดิม และสามเท่าของความสูงเดิม: 

ตัวอย่าง

div {
  transform: scale(2, 3);
}

ตัวอย่างต่อไปนี้จะลดองค์ประกอบ <div> ให้เหลือครึ่งหนึ่งของความกว้างและความสูงเดิม: 

ตัวอย่าง

div {
  transform: scale(0.5, 0.5);
}

สเกลX() เมธอด

วิธี การscaleX()นี้จะเพิ่มหรือลดความกว้างขององค์ประกอบ

ตัวอย่างต่อไปนี้จะเพิ่ม <div> องค์ประกอบเป็นสองเท่าของความกว้างเดิม: 

ตัวอย่าง

div {
  transform: scaleX(2);
}

ตัวอย่างต่อไปนี้จะลดองค์ประกอบ <div> ให้เหลือครึ่งหนึ่งของความกว้างเดิม: 

ตัวอย่าง

div {
  transform: scaleX(0.5);
}

วิธีสเกลY()

วิธี การscaleY()นี้จะเพิ่มหรือลดความสูงขององค์ประกอบ

ตัวอย่างต่อไปนี้จะเพิ่มองค์ประกอบ <div> เป็นสามเท่าของความสูงเดิม: 

ตัวอย่าง

div {
  transform: scaleY(3);
}

ตัวอย่างต่อไปนี้ลดองค์ประกอบ <div> ให้เหลือครึ่งหนึ่งของความสูงเดิม: 

ตัวอย่าง

div {
  transform: scaleY(0.5);
}

วิธีการ skewX()

วิธี การskewX()เอียงองค์ประกอบตามแนวแกน X ตามมุมที่กำหนด

ตัวอย่างต่อไปนี้เอียงองค์ประกอบ <div> 20 องศาตามแนวแกน X:

ตัวอย่าง

div {
  transform: skewX(20deg);
}

The skewY() วิธีการ

วิธี การskewY()เอียงองค์ประกอบตามแกน Y ตามมุมที่กำหนด

ตัวอย่างต่อไปนี้เอียงองค์ประกอบ <div> 20 องศาตามแนวแกน Y:

ตัวอย่าง

div {
  transform: skewY(20deg);
}

The skew() Method

วิธี การskew()เอียงองค์ประกอบตามแกน X และ Y ตามมุมที่กำหนด

ตัวอย่างต่อไปนี้เอียงองค์ประกอบ <div> 20 องศาตามแนวแกน X และ 10 องศาตามแนวแกน Y:

ตัวอย่าง

div {
  transform: skew(20deg, 10deg);
}

หากไม่ได้ระบุพารามิเตอร์ที่สอง จะมีค่าเป็นศูนย์ ดังนั้น ตัวอย่างต่อไปนี้จะเอียงองค์ประกอบ <div> 20 องศาตามแนวแกน X:

ตัวอย่าง

div {
  transform: skew(20deg);
}

เมทริกซ์ () เมธอด

หมุน

วิธี การmatrix()นี้รวมวิธีการแปลง 2D ทั้งหมดเข้าไว้ด้วยกัน

เมธอด matrix() ใช้พารามิเตอร์ 6 ตัว ซึ่งประกอบด้วยฟังก์ชันทางคณิตศาสตร์ ซึ่งช่วยให้คุณหมุน ปรับขนาด ย้าย (แปล) และองค์ประกอบเอียงได้

พารามิเตอร์มีดังนี้: matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())

ตัวอย่าง

div {
  transform: matrix(1, -0.3, 0, 1, 0, 0);
}

ทดสอบตัวเองด้วยแบบฝึกหัด

ออกกำลังกาย:

ด้วยtransformคุณสมบัติ ให้ย้าย <div> องค์ประกอบ 100px ไปทางขวา และ 200px ลง

<style>
div {
  width: 100px;
  height: 100px;
  background-color: lightblue;
  border: 1px solid black;
  : ;
}
</style>

<body>
  <div>This is a div</div>
</body>


คุณสมบัติการแปลง CSS

ตารางต่อไปนี้แสดงรายการคุณสมบัติการแปลง 2D ทั้งหมด:

Property Description
transform Applies a 2D or 3D transformation to an element
transform-origin Allows you to change the position on transformed elements

วิธีการแปลง CSS 2D

Function Description
matrix(n,n,n,n,n,n) Defines a 2D transformation, using a matrix of six values
translate(x,y) Defines a 2D translation, moving the element along the X- and the Y-axis
translateX(n) Defines a 2D translation, moving the element along the X-axis
translateY(n) Defines a 2D translation, moving the element along the Y-axis
scale(x,y) Defines a 2D scale transformation, changing the elements width and height
scaleX(n) Defines a 2D scale transformation, changing the element's width
scaleY(n) Defines a 2D scale transformation, changing the element's height
rotate(angle) Defines a 2D rotation, the angle is specified in the parameter
skew(x-angle,y-angle) Defines a 2D skew transformation along the X- and the Y-axis
skewX(angle) Defines a 2D skew transformation along the X-axis
skewY(angle) Defines a 2D skew transformation along the Y-axis