Hướng dẫn linear-gradient trong css đẹp

CSS3 gradient cho phép bạn hiện thị biến đổi liên tục giữa hai hoặc nhiều màu. CSS3 có hai kiểu chuyển đổi màu LinearRadial

Tạo ra linear gradient bạn phải định nghĩa tối thiểu điểm dừng màu. Điểm dừng màu là màu nằm giữa khoảng màu cần biến đổi liên tục. Bạn cũng cần thiết lập một điểm bắt đầu và hướng hoặc góc qua đó màu biến đổi.

Ví dụ sau, màu xanh và trắng tạo ra gradient biến đổi từ trên xuống dưới.

    .exam1 {
        width: 300px;
        height: 100px;
        margin: 4px;
        color: #FFF;
        background: linear-gradient[DeepSkyBlue, Black];
    }


Ví dụ gradient

Ví dụ gradient

 

Có thể thêm nhiều điểm màu, mỗi màu cách nhau bởi dấu phảy ,

Ví dụ: background: linear-gradient[blue, yellow, green, pink, white];

Ví dụ gradient blue, yellow, green, pink, white

Các điểm dừng màu có thể chỉ ra không đều cho từng màu khoảng cách tính từ gốc của hướng [theo phần trăm, px, em]

Ví dụ: background:linear-gradient[blue 20%, yellow 30%, green 85%];

Ví dụ gradient blue 50%, yellow 75%, green 100%

Hướng Linear gradient

Để chỉ ra hướng bạn cần chỉ ra điểm bắt đầu của gradient với các giá trị: left right top bottom

Ví dụ tô từ trái qua phải background: linear-gradient[left, blue, green, white];

Chrome: background: linear-gradient[left, blue, green, white];

Ví dụ gradient left

Ví dụ tô từ dưới lên background: linear-gradient[bottom, blue, green, white];

Chrome: background: linear-gradient[bottom, blue, green, white];

Ví dụ gradient bottom

left, right, top, bottom dùng để xác định hướng gradient. Bạn có thể kết hợp vài hướng trong một ví dụ [bottom right biến đổi từ dưới lên đồng thời từ phải sang trái]

Góc xác định hướng gradient

Ví dụ dùng left, right, top, bottom kết hợp để tạo ra các hướng như bottom left tương đương 45 độ

Ví dụ tô từ dưới lên background: linear-gradient[bottom left, blue, green, white];

Chrome: background: linear-gradient[bottom left, blue, green, white];

Ví dụ gradient bottom left

Ngoài ra có thể chỉ thắng ra góc chuyển đổi ví dụ 100 độ: background:linear-gradient[100deg, blue, green, white];

Ví dụ gradient 100deg

repeating-linear-gradient

Tạo ra các gradient lặp lại bằng hàm: repeating-linear-gradient[]

Ví dụ: background:-moz-repeating-linear-gradient[blue, green 20px];

Ví dụ gradient 100deg

Linear Gradient

linear-gradient [gradient tuyến tính] là loại gradient phổ biến nhất mà chúng ta thấy trong thiết kế web là . Nó được gọi là "tuyến tính" vì flow của màu sắc sẽ từ trái sang phải, từ trên xuống dưới hoặc ở bất kỳ góc nào tùy thuộc vào hướng mà mình chọn.

Syntax

linear-gradient[] sẽ tạo nên các dải màu nên thường sẽ được sử dụng trong thuộc tính background [hay cụ thể hơn là background-image] trong CSS.

linear-gradient[
  [  | to  ]? ,
  
]
 = [left | right] || [top | bottom]

Một cách để nhớ và hình dung được cách hoạt động của phương thức này

Create a background image that is a linear gradient that moves [to this direction or at this angle] and starts with [one color] and ends with [another color].

Usage

Mọi người có thể thấy mình không định nghĩa phần [ | to ] nên mặc định CSS sẽ hiểu là trải dải màu từ trên xuống to bottom với màu ban đầu là màu đỏ [red] sau đó chuyển đổi dần sang màu cam [orange]. Ngoài cách định nghĩa cơ bản như trên còn có 1 số cách khác cho phép mình kiểm soát chiều cũng như tạo nhiều dải màu khác nhau cho màu nền đa dạng hơn.

/* A gradient tilted 45 degrees,
   starting blue and finishing red */
linear-gradient[45deg, blue, red];

/* A gradient going from the bottom right to the top left corner,
   starting blue and finishing red */
linear-gradient[to left top, blue, red];

/* Color stop: A gradient going from the bottom to top,
   starting blue, turning green at 40% of its length,
   and finishing red */
linear-gradient[0deg, blue, green 40%, red];

/* Color hint: A gradient going from the left to right, 
   starting red, getting to the midpoint color 
   10% of the way across the length of the gradient, 
   taking the rest of the 90% of the length to change to blue */ 
linear-gradient[.25turn, red, 10%, blue];

/* Multi-position color stop: A gradient tilted 45 degrees, 
   with a red bottom-left half and a blue top-right half, 
   with a hard line where the gradient changes from red to blue */
linear-gradient[45deg, red 0 50%, blue 50% 100%];

/* Multi-color: A gradient going from left to right,
   starting red, change to orange, to yellow, then finally to green */
linear-gradient[to right, red, #f06d06, rgb[255, 255, 0], green];

Radial Gradient

Radial gradient [gradient xuyên tâm] khác với linear gradient ở chỗ nó bắt đầu tại một điểm duy nhất và phát rộng ra bên ngoài. Các lớp thường được sử dụng để mô phỏng một nguồn sáng. Điều đó làm cho chúng hữu ích để làm cho sự chuyển giao giữa các màu được tự nhiên hơn.

Mặc định màu đầu tiên bắt đầu ở vị trí trung tâm của phần tử và sau đó mờ dần sang màu kết thúc về hướng về phía rìa của phần tử. Sự mờ dần xảy ra ở một tỷ lệ bằng nhau bất kể phương hướng.

Syntax

Tương tự như linear-gradient, radial-gradient cũng được sử dụng trong thuộc tính background [hay cụ thể hơn là background-image]

radial-gradient[
  [ [  ||  ] [ at  ]? , |
    at , 
  ]?
   [ ,  ]+
]

Cho dễ gợi nhớ

Paint a radial gradient in [some shape] at [some size] that is located in [these positions]. Oh, and make sure it starts with this [color] and stops at this [color].

Usage

background-image: radial-gradient[yellow, #f06d06];

Bằng việc không khai báo các giá trị shape, size, position hoặc color-stop, tất cả đều mặc định cho các giá trị đặt gradient ở chính giữa của phần tử và chuyển đổi đồng đều giữa các giá trị màu được khai báo.

Ngoài ra có thể thay vị trí điểm trung tâm

background-image: radial-gradient[circle at top right, yellow, #f06d06];

Conic Gradient

Conic gradient [gradient hình nón] tương tự như một radial gradient. Cả hai đều là hình tròn và sử dụng tâm của phần tử làm điểm nguồn cho các điểm màu. Tuy nhiên, khác với cái dải màu của radial gradient xuất phát từ tâm vòng tròn, conic gradient sắp xếp dải màu xung quanh vòng tròn. Gọi là "hình nón" vì nhìn từ trên cao xuống xu hướng trông giống hình dạng của một chiếc nón.

Syntax

conic-gradient[
  [ from  ]? [ at  ]?,
  
]

Make a conic-gradient that is located at [some point] that starts with [one color] at some angle and ends with [another color] at [some angle]

background-image: conic-gradient[#fff, #000];

Vị trí của gradient bắt đầu ở chính giữa của phần tử [50% 50%] và được phân bố đồng đều giữa các giá trị màu trắng và đen.

Lợi dụng sự đơn giản này để tạo color palette trong các tool color picker

background: conic-gradient[red, yellow, lime, aqua, blue, magenta, red];

Hay tạo 1 cái pie chart chỉ với 1 dòng css

References

//css-tricks.com/snippets/css/css-linear-gradient/

//developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient

//css-tricks.com/snippets/css/css-radial-gradient/

//developer.mozilla.org/en-US/docs/Web/CSS/radial-gradient

//css-tricks.com/snippets/css/css-conic-gradient/

//developer.mozilla.org/en-US/docs/Web/CSS/conic-gradient

Chủ Đề