Nhiều biến đổi CSS
Phương thức 7 di chuyển một phần tử từ vị trí hiện tại của nó (theo các tham số đã cho cho trục X và trục Y) Ví dụ sau di chuyển phần tử 50 pixel ở bên phải và 100 pixel xuống từ vị trí hiện tại của nó Phương thức xoay ()Phương pháp 8 xoay một phần tử theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ theo một mức độ nhất định Ví dụ sau xoay vòng phần tử theo chiều kim đồng hồ với 20 độ Sử dụng các giá trị âm sẽ xoay phần tử ngược chiều kim đồng hồ Ví dụ sau xoay vòng phần tử ngược chiều kim đồng hồ với 20 độ Phương thức scale()Phương thức 9 tăng giảm kích thước của phần tử (tuỳ theo tham số cho chiều rộng và chiều cao) Ví dụ sau đây làm tăng phần tử gấp hai lần chiều rộng ban đầu và ba lần chiều cao ban đầu. Ví dụ sau giảm phần tử bằng một nửa chiều rộng và chiều cao ban đầu của nó. Phương thức scaleX()Phương thức 0 tăng hoặc giảm độ rộng của một phần tử Ví dụ sau đây làm tăng phần tử gấp hai lần chiều rộng ban đầu của nó. Ví dụ sau giảm phần tử bằng một nửa chiều rộng ban đầu của nó. Phương thức scaleY()Phương thức 1 tăng hoặc giảm chiều cao của một phần tử Ví dụ sau đây làm tăng phần tử gấp ba lần chiều cao ban đầu của nó. Ví dụ sau giảm phần tử bằng một nửa chiều cao ban đầu của nó. Phương thức skewX()Phương pháp 2 nghiêng một phần tử dọc theo trục X theo góc đã cho Ví dụ sau làm lệch phần tử 20 độ dọc theo trục X Phương thức skewY()Phương pháp 3 nghiêng một phần tử dọc theo trục Y theo góc đã cho Ví dụ sau làm lệch phần tử 20 độ dọc theo trục Y Phương thức skew()Phương pháp 4 nghiêng một phần tử dọc theo trục X và Y theo các góc đã cho Ví dụ sau làm lệch phần tử 20 độ dọc theo trục X và 10 độ dọc theo trục Y Nếu tham số thứ hai không được chỉ định, nó có giá trị bằng không. Vì vậy, ví dụ sau làm lệch phần tử 20 độ dọc theo trục X Phương thức ma trận()Phương thức 50 kết hợp tất cả các phương thức biến đổi 2D thành một Phương thức matrix() nhận sáu tham số, chứa các hàm toán học, cho phép bạn xoay, chia tỷ lệ, di chuyển (dịch) và nghiêng các phần tử Các thông số như sau. ma trận(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY()) Thoạt nhìn, nó có vẻ giống như một thứ khá thích hợp. Rốt cuộc thì chúng ta cần xoay hoặc nghiêng thứ gì đó bao lâu một lần? . Trong cơ sở mã blog của tôi, tôi đã sử dụng thuộc tính 5 hơn 350 lần Trong bài đăng trên blog này, chúng tôi đang tìm hiểu sâu về tài sản 5. Tôi sẽ cho bạn thấy một số điều thú vị và bất ngờ mà bạn có thể làm với nóĐối tượng dự định Hướng dẫn này nhằm mục đích thân thiện với người mới bắt đầu, mặc dù tôi cho rằng bạn đã quen thuộc với các nguyên tắc cơ bản của HTML/CSS Trừ khi bạn là một chuyên gia CSS dày dạn kinh nghiệm, tôi cá là bạn sẽ học được điều gì đó thú vị Liên kết đến tiêu đề nàyBiến đổi chức năngThuộc tính 5 có thể thực hiện rất nhiều việc khác nhau, thông qua việc sử dụng các hàm biến đổi như 0 và 1 Hãy lần lượt xem xét từng Liên kết đến tiêu đề nàyDịchBản dịch cho phép chúng tôi di chuyển một mục xung quanh 2 x. 0px y. 0px Chúng ta có thể sử dụng 0 để dịch chuyển một mục theo một trong hai trục. 4 di chuyển sang bên, 5 di chuyển lên xuống. Các giá trị dương di chuyển xuống dưới và sang phải. Các giá trị âm di chuyển lên và sang trái Điều quan trọng là vị trí trong luồng của mặt hàng không thay đổi. Đối với các thuật toán bố cục của chúng tôi, từ Flow đến Flexbox đến Grid, thuộc tính này không có tác dụng Ví dụ. trong hình ảnh này, chúng ta có 3 đứa trẻ được căn chỉnh bằng Flexbox. Khi chúng tôi áp dụng một phép biến đổi cho phần tử con ở giữa, thuật toán Flexbox không nhận thấy và giữ các phần tử con khác ở cùng một vị trí 2 x. 0px y. 0px Điều này tương tự như cách hoạt động của 7 / 8 / 9 / 00 trong bố cục được định vị, với các phần tử được định vị tương đối Khi chúng ta muốn di chuyển một phần tử dọc theo một trục, chúng ta có thể sử dụng 01 và 02 3 Tuy nhiên, có một điều khiến 0 trở nên mạnh mẽ một cách lố bịch. Một cái gì đó hoàn toàn độc đáo trong ngôn ngữ CSS Khi chúng tôi sử dụng giá trị phần trăm trong 0, phần trăm đó đề cập đến kích thước riêng của phần tử, không phải không gian có sẵn trong vùng chứa chính Ví dụ 05 x. 0% y. 0% Đặt 06 sẽ di chuyển hộp lên theo chiều cao chính xác của nó, bất kể chiều cao đó là bao nhiêu, tới pixel Điều này cực kỳ tiện lợi khi chúng ta muốn một phần tử nằm ngay bên ngoài một phần tử khác sân chơi mật mãĐịnh dạng mã bằng cách sử dụng Prettier đặt lại mã CSS HTML
Kết quả Làm mới khung kết quả Bật phím 'tab'Tại sao điều này rất mát mẻ?Bạn có thể tự hỏi tại sao đây là một vấn đề lớn như vậy. Rốt cuộc, bố cục trên có thể được tạo bằng Flexbox hoặc Grid, phải không? Chà, không hẳn Cho xem nhiều hơnTrường hợp sử dụng phổ biến cho thủ thuật này là thêm nút "đóng" ngay bên ngoài hộp thoại sân chơi mật mãĐịnh dạng mã bằng cách sử dụng Prettier đặt lại mã CSS HTML 0 Kết quả Làm mới khung kết quả Bật phím 'tab'Với sự kỳ diệu của 09, chúng ta thậm chí có thể trộn lẫn các đơn vị tương đối và tuyệt đối 30 Tỷ lệ phần trăm. 0% Điểm ảnh. 0px Điều này cho phép chúng tôi thêm một "bộ đệm" để chúng tôi có thể dịch nội dung nào đó theo kích thước của chính nó cộng với một vài pixel bổ sung Liên kết đến tiêu đề nàyTỉ lệĐược rồi, hãy xem một hàm biến đổi khác 31 cho phép chúng tôi phát triển hoặc thu nhỏ một phần tử 32 Tỷ lệ. 1 Tỷ lệ sử dụng một giá trị không có đơn vị đại diện cho bội số, tương tự như 33. 34 có nghĩa là phần tử phải lớn gấp 2 lần bình thường Chúng ta cũng có thể chuyển nhiều giá trị để chia tỷ lệ trục 4 và 5 một cách độc lập 37 x. 1 y. 1 Thoạt nhìn, điều này có vẻ tương đương với cài đặt 38 và 39, nhưng có một sự khác biệt lớn Kiểm tra xem điều gì sẽ xảy ra khi phần tử của chúng ta có một số văn bản trong đó Chào thế giới 32 Tỷ lệ. 1 Văn bản tăng và giảm tỷ lệ với phần tử. Chúng tôi không chỉ chuyển đổi kích thước và hình dạng của hộp, chúng tôi đang chuyển đổi toàn bộ phần tử và tất cả các hậu duệ của nó Một cơ chế khácĐiều này tiết lộ một sự thật quan trọng về biến đổi. các yếu tố được làm phẳng thành một kết cấu. Tất cả các phép biến đổi này về cơ bản coi phần tử của chúng ta giống như một hình ảnh phẳng, làm cong vênh và biến dạng nó như bạn có thể làm trong Photoshop Ngẫu nhiên, đây là điều làm cho 5 trở thành một lựa chọn tốt cho hoạt hình Hãy suy nghĩ về bao nhiêu công việc được yêu cầu khi chúng tôi thay đổi một cái gì đó như 38. Tất cả các thuật toán bố cục cần chạy lại, tìm ra chính xác vị trí của phần tử này và tất cả các phần tử anh chị em của nó. Nếu phần tử có văn bản bên trong, thuật toán ngắt dòng cần tìm hiểu xem chiều rộng mới này có ảnh hưởng đến ngắt dòng hay không. Sau đó, các thuật toán vẽ sẽ chạy, tìm ra màu mà mỗi pixel cần có và điền vào Bạn có thể thực hiện việc này một lần khi tải trang, nhưng khi tạo hoạt ảnh cho thứ gì đó, chúng tôi cần thực hiện tất cả các phép tính đó nhiều lần trong một giây. Với phép biến đổi, chúng ta có thể bỏ qua nhiều bước. Điều này có nghĩa là các phép tính chạy nhanh hơn, dẫn đến chuyển động mượt mà hơn Có vẻ như thật khó hiểu khi 31 sẽ kéo dài/bóp nhỏ nội dung của phần tử, nhưng chúng ta thực sự có thể sử dụng hiệu ứng này để tạo lợi thế cho mình. Ví dụ: hãy xem hoạt hình điện TV lâu đời này 64 trạng thái nguồn Bật Tắt Đối với hoạt ảnh này, hiệu ứng đè bẹp thực sự cải thiện hiệu ứng Và, nếu chúng ta thực sự không muốn văn bản của mình bị nén, chúng ta có thể áp dụng một phép biến đổi nghịch đảo cho phần tử con Đây là một kỹ thuật tiên tiến, vượt xa phạm vi của bài đăng trên blog này, nhưng hãy biết rằng có thể sử dụng 31 để tăng kích thước của phần tử mà không làm biến dạng phần tử con của nó. Các thư viện như Framer Motion tận dụng thực tế này để xây dựng các hoạt ảnh có hiệu suất cao mà không bị kéo dài hoặc nén Liên kết đến tiêu đề nàyQuayBạn đoán nó. 66 sẽ xoay các phần tử của chúng ta 67 Xoay vòng. 0độ Chúng tôi thường sử dụng đơn vị 68 để xoay, viết tắt của độ. Nhưng có một đơn vị tiện dụng khác mà chúng ta có thể sử dụng, một đơn vị có thể dễ dàng hơn để suy luận về 69 Xoay vòng. 0lượt Đơn vị 50 đại diện cho số lượt mà phần tử sẽ thực hiện. 1 lượt bằng 360 độ Nó không rõ ràng, nhưng được hỗ trợ tốt; Liên kết đến tiêu đề nàyNghiêngCuối cùng, 1 là một phép biến đổi ít được sử dụng nhưng khá gọn gàng Chào thế giới 53 Xiên. 0độ Như với 0, chúng ta có thể nghiêng dọc theo một trong hai trục Chào thế giới 55 Xoay vòng. 0độ trục XY Skew có thể hữu ích để tạo các yếu tố trang trí theo đường chéo (à la Stripe). Với sự trợ giúp của 09 và một số lượng giác, nó cũng có thể được sử dụng trên các phần tử mà không làm biến dạng văn bản. Kỹ thuật này được khám phá sâu trong bài đăng trên blog tuyệt vời của Nils Binder, “Tạo bố cục đường chéo như năm 2020” Liên kết đến tiêu đề nàyChuyển đổi nguồn gốcMọi phần tử đều có điểm gốc, điểm neo mà các hàm biến đổi thực hiện từ đó Kiểm tra cách xoay thay đổi khi chúng tôi điều chỉnh nguồn gốc biến đổi 57 Xoay vòng. 0độ Biến đổi nguồn gốc trung tâm (mặc định) Hiển thị nguồn gốc đúng sai Nguồn gốc biến đổi hoạt động như một điểm xoay Nó cũng không dành riêng cho xoay vòng; 58 Tỷ lệ. 1 Biến đổi nguồn gốc trung tâm (mặc định) Hiển thị nguồn gốc đúng sai Điều này hữu ích cho một số loại hiệu ứng (ví dụ: một phần tử "phát triển từ" một phần tử khác) Liên kết đến tiêu đề nàyKết hợp nhiều thao tácChúng ta có thể xâu chuỗi nhiều hàm biến đổi lại với nhau bằng cách phân tách chúng bằng dấu cách 59 x. 0px Xoay vòng. 0độ Thứ tự là quan trọng. các hàm biến đổi sẽ được áp dụng tuần tự. Kiểm tra xem điều gì sẽ xảy ra nếu chúng ta đảo ngược thứ tự 50 Xoay vòng. 0độ x. 0px Các hàm biến đổi được áp dụng từ phải sang trái, giống như thành phần trong lập trình hàm Trong bản demo đầu tiên, chúng tôi xoay phần tử ở vị trí tự nhiên của nó, sau đó dịch nó dọc theo trục X Tuy nhiên, trong bản demo thứ hai này, chúng tôi dịch phần tử trước. Khi chúng ta áp dụng phép quay, nó sẽ quay quanh điểm gốc của nó, điều này không thay đổi Đây là bản demo tương tự, nhưng với nguồn gốc được hiển thị 51 Xoay vòng. 0độ x. 0px Biến đổi nguồn gốc trung tâm (mặc định) Chúng ta có thể sử dụng điều này để lợi thế của chúng tôi sân chơi mật mãĐịnh dạng mã bằng cách sử dụng Prettier đặt lại mã CSS HTML 3 Kết quả Làm mới khung kết quả Bật phím 'tab'Trong ví dụ này, chúng tôi bắt đầu bằng cách định vị mặt trăng ở trung tâm chết của hành tinh. Hoạt hình của chúng tôi sẽ dịch chuyển nó sang bên phải 80px, sau đó làm cho nó xoay theo hình tròn. Vì gốc của mặt trăng vẫn ở tâm hành tinh nên nó quay quanh một khoảng Hãy thử thay đổi 52 trong khối from/to để xem nó ảnh hưởng như thế nào đến hoạt hìnhHoạt ảnh khung hình chính Quan tâm đến việc tìm hiểu thêm về hoạt ảnh khung hình chính CSS? . Hãy xem “Hướng dẫn tương tác về hoạt ảnh khung hình chính” Liên kết đến tiêu đề nàyyếu tố nội tuyếnMột vấn đề phổ biến với các phép biến đổi là chúng không hoạt động với các phần tử nội tuyến trong bố cục Dòng sân chơi mật mãĐịnh dạng mã bằng cách sử dụng Prettier đặt lại mã CSS HTML 6 Kết quả Làm mới khung kết quả Bật phím 'tab'Các yếu tố nội tuyến không thích bị chen lấn. Mục tiêu của họ là xoay quanh một số nội dung với ít gián đoạn nhất có thể. Biến đổi không phải là tách trà của họ Cách khắc phục đơn giản nhất là chuyển sang sử dụng 53 hoặc sử dụng chế độ bố cục khác (ví dụ:. Flexbox hoặc Lưới) Liên kết đến tiêu đề nàychiều thứ baNgoài các phép biến đổi 2D mà chúng tôi đã đề cập trong hướng dẫn này, CSS có thể biến đổi các phần tử ở chiều thứ ba Biến đổi 3D có những đặc điểm và phong cách riêng. Để làm cho họ công bằng, tôi sẽ viết một bài riêng về chuyển đổi 3D. Giữ nguyên Liên kết đến tiêu đề nàyĐi sâu hơnTôi có một lời thú nhận những thứ đã làm. hướng dẫn này ban đầu không được viết dưới dạng một bài đăng trên blog. Nó đã được chuyển từ khóa học CSS gần đây của tôi CSS dành cho nhà phát triển JavaScript là một khóa học đa định dạng toàn diện với mục tiêu chuyển đổi mối quan hệ của bạn với CSS Khóa học được tạo riêng cho những người làm việc với khung JS như React hoặc Angular hoặc Vue. Chúng tôi đề cập đến các nguyên tắc cơ bản của CSS, nhưng trong bối cảnh của hệ sinh thái JS hiện đại Nó đi sâu hơn các bài đăng trên blog của tôi. Có hơn 150 video, ngoài hàng chục bài tập và dự án Tôi đã làm việc toàn thời gian trong hơn một năm nay. Gần 5000 người đã mua nó trong vòng gây quỹ cộng đồng sớm và phản hồi của họ đã giúp khóa học trở nên tốt hơn rất nhiều Bạn có thể có nhiều CSS chuyển đổi không?Việc sử dụng nhiều biến đổi cùng một lúc là phổ biến. Thuộc tính 'transform' có thể chấp nhận bao nhiêu hàm tùy thích, vì vậy bạn có thể sử dụng và kết hợp chúng theo bất kỳ cách nào bạn muốn.
Chuyển đổi MS trong CSS là gì?Thuộc tính CSS biến đổi cho phép bạn xoay, chia tỷ lệ, nghiêng hoặc dịch một phần tử . Nó sửa đổi không gian tọa độ của mô hình định dạng trực quan CSS.
Chức năng được sử dụng để kết hợp tất cả các phương pháp chuyển đổi với nhau là gì?Hàm biến đổi ma trận có thể được sử dụng để kết hợp tất cả các biến đổi thành một.
CSS3 có hỗ trợ biến đổi 2D không?CSS3 cho phép chúng ta thao tác với các đối tượng trong không gian 2D bằng cách sử dụng thuộc tính tranform và các chức năng của nó để chuyển đổi 2D . |