Đảo ngược hướng của hình ảnh rất dễ dàng với CSS, nếu hơi phản trực giác đối với những người không thiên về toán học. để lật một hình ảnh, bạn sử dụng giá trị -1 với , tùy thuộc vào việc bạn muốn lật phần tử theo chiều ngang hay chiều dọc
Tại sao điều này hữu ích? . ví dụ: đối tượng của ảnh đang nhìn ra ngoài khung hình khi bạn muốn mắt họ hướng vào trong. Cũng đúng là một số hình ảnh trông hấp dẫn hơn theo một hướng so với hướng ngược lại. hình ảnh lộn ngược của Abraham Lincoln ở đầu bài viết này là một ví dụ điển hình. Hình ảnh bên trái là cách chúng ta nhìn và biết về Đấng giải phóng vĩ đại; . Đôi khi hình ảnh trông đẹp hơn theo một hướng so với hướng khác
Giải pháp truyền thống để có hình ảnh bị sai hướng trong trang web là đưa ảnh trở lại PhotoShop, lật nó, xuất lại và tải lại lên trang web. Áp dụng CSS để sửa đổi kết xuất hình ảnh mà không làm thay đổi bản gốc sẽ hiệu quả hơn nhiều
Hãy lấy cách chỉ tay theo phong cách Victoria trên biểu ngữ trong bài viết “Cuộn lên trên cùng rồi sửa” gần đây của tôi làm ví dụ. Các kim ở hai bên của văn bản biểu ngữ hoàn toàn giống nhau, chỉ là hình ảnh phản chiếu của nhau và mọi yêu cầu về tệp bổ sung đều làm chậm trang của chúng tôi. Vì vậy, thay vì đưa hai hình ảnh riêng biệt lên trang, tôi sẽ gọi cùng một hình ảnh hai lần, nhưng áp dụng một lớp bổ sung cho hình ảnh thứ hai
Fabulous Floating Banner
Lớp hand
sẽ chứa các quy tắc được chia sẻ cho sự xuất hiện của cả hai cách sử dụng hình ảnh, ngoại trừ float
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
Lớp righthand
sẽ chuyển hướng của hình ảnh và thay đổi số float của nó
img.righthand {
transform: scaleX[-1];
filter: FlipH;
-ms-filter: "FlipH";
float: none;
}
[Lưu ý rằng mã không sử dụng tiền tố của nhà cung cấp; cũng lưu ý các bộ chọn CSS độc quyền của Microsoft ở cuối phần khai báo. ]
Bây giờ trang chỉ tải một hình ảnh và thay đổi nó thành những gì cần thiết cho phiên bản bên tay phải. một trong những nguyên tắc sử dụng các công nghệ CSS để lọc và thay đổi các yếu tố hiện có nhằm tạo ra các biến thể nội dung mới, tránh trùng lặp không cần thiết và tăng tốc độ phát triển. Điều này cũng có lợi thế là nếu tôi thay đổi hình ảnh bàn tay chỉ tay ban đầu, tôi không cần phải lo lắng về việc sao chép bất kỳ thay đổi nào cho bản sao ở phía bên kia. CSS sẽ làm điều đó cho tôi
-1
trong giá trị tài sản. hãy tưởng tượng bàn tay trái được thu nhỏ xuống một điểm vô cùng nhỏ [tỷ lệ 0]. Khi vượt qua 0, hình ảnh đảo ngược và bắt đầu phát triển trở lại. Vì vậy, transform: scaleY[-2]
sẽ được lật theo chiều dọc và lớn gấp đôi so với ban đầuMặc dù kỹ thuật này sẽ được áp dụng phổ biến nhất cho hình ảnh, nhưng phương pháp tương tự có thể được sử dụng trên bất kỳ nội dung HTML nào… vì những lý do rõ ràng, tôi không khuyên bạn nên phản chiếu văn bản đoạn văn
Trong Matplotlib, chúng ta có thể đảo ngược các trục của biểu đồ bằng nhiều phương pháp. Phương pháp phổ biến nhất là sử dụng invert_xaxis[] và invert_yaxis[] cho các đối tượng trục. Ngoài ra, chúng ta cũng có thể sử dụng các phương thức xlim[] và ylim[] và axis[] cho đối tượng pyplot
Phương pháp 1. Sử dụng phương thức invert_xaxis[] và invert_yaxis[]
Để đảo ngược trục X và trục Y, chúng ta có thể sử dụng hàm invert_xaxis[] và invert_yaxis[]. Chúng ta có thể đảo ngược bất kỳ một trong các trục hoặc cả hai trục bằng các phương pháp trên
Mã số
Python3
________số 8
import
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
0import
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
2
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
3img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
4img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
5 img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
6img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
7import
0import
1import
0import
3import
4
import
5
import
6_______15 import
8____99
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
4img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
01img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
02
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
03img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
04img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
5 img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
06img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
07import
0img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
09import
4
import
1
import
2
_______93____94____94
import
6
import
7
import
8import
9import
4
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
21img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
22
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
23img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
24img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
25đầu ra
Biểu đồ thông thường và Biểu đồ đảo ngược [Đảo ngược cả hai trục]
Phương pháp 2. Sử dụng phương thức xlim[] và ylim[]
xlim[] và ylim[] cũng có thể được sử dụng để đảo ngược các trục của biểu đồ. Chúng thường được sử dụng để đặt hoặc nhận giới hạn cho trục X và trục Y tương ứng. Nhưng nếu chúng ta chuyển giá trị tối thiểu trong trục làm giới hạn trên và giá trị tối đa trong trục làm giới hạn dưới, chúng ta có thể nhận được trục hoàn nguyên
Mã số
Python3
________số 8
import
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
0import
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
2
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
3img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
4img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
5 img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
6img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
7import
0import
1import
0import
3import
4
import
5
import
6_______15 import
8____99
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
4img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
01img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
02
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
03img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
04img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
5 img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
06img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
07import
0img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
09import
4
import
1
import
2
_______93____94____94
import
6
import
7
import
8import
9import
4
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
67img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
68img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
69img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
70img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
71img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
72img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
68img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
74img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
70img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
76
img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
23img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
24img.hand {
width:106px;
height: 41px;
vertical-align: middle;
float: left;
}
25đầu ra
Biểu đồ thông thường và Biểu đồ đảo ngược [Đảo ngược cả hai trục]
Phương pháp 3. Sử dụng phương thức axis[]
Tương tự như xlim[] và ylim[], phương thức axis[] cũng được sử dụng để thiết lập giá trị nhỏ nhất và lớn nhất của trục X và trục Y. Vì vậy, nếu chúng ta chuyển giá trị nhỏ nhất trong trục làm giới hạn trên và giá trị lớn nhất trong trục làm giới hạn dưới, chúng ta có thể nhận được một trục hoàn nguyên