CSS3: Bao ảnh với border-image

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Với CSS3 cho phép bạn có thể tạo đường bao bằng ảnh bằng cách sử dụng thuộc tính border-image. Sau đây là bảng mô tả chi tiết cú pháp của thuộc tính border-image:

Thuộc tính

Giá trị

Mô tả

border-image-source

url

Đường dẫn tới image dùng làm border.

border-image-slice
(Giá trị % hoặc số)

1 giá trị
[top right bottom left]

Phần lát cắt image với 4 thành phần của border như nhau.

2 giá trị
[top bottom] [left right]

Phần lát cắt image với 2 thành phần ngang của border như nhau và 2 thành phần dọc cũng như nhau.

3 giá trị
[top] [left right] [bottom]

Phần lát cắt image với thành phần dọc của border như nhau.

4 giá trị
[top] [right] [bottom] [left]

Phần lát cắt image với 4 thành phần của border khác nhau.

border-image-width
(Giá trị theo đơn vị)

1 giá trị
[top right bottom left]

Bề rộng image với 4 thành phần của border như nhau.

2 giá trị
[top bottom] [left right]

Bề rộng image với 2 thành phần ngang của border như nhau và 2 thành phần dọc cũng như nhau.

3 giá trị
[top] [left right] [bottom]

Bề rộng image với thành phần dọc của border như nhau.

4 giá trị
[top] [right] [bottom] [left]

Bề rộng image với 4 thành phần của border khác nhau.

border-image-outset
(Giá trị theo đơn vị)

1 giá trị
[top right bottom left]

Xác định giá trị image vượt ra ngoài vùng giới hạn của vùng bao, với 4 thành phần của border vượt ra ngoài như nhau.

2 giá trị
[top bottom] [left right]

Xác định giá trị image vượt ra ngoài vùng giới hạn của vùng bao, với 2 thành phần ngang của border vượt ra ngoài như nhau và 2 thành phần dọc cũng như nhau.

3 giá trị
[top] [left right] [bottom]

Xác định giá trị image vượt ra ngoài vùng giới hạn của vùng bao, với thành phần dọc của border như nhau.

4 giá trị
[top] [right] [bottom] [left]

Xác định giá trị image vượt ra ngoài vùng giới hạn của vùng bao, với 4 thành phần của border khác nhau.

border-image-repeat
Chú ý: border-image-repeat không có nghĩa khi sử dụng 3 giá trị trở lên.

repeat

Image của border sẽ được lặp lại, cả phần nội dung và phần border.

round

Image của border sẽ được lặp lại, cả phần nội dung và phần border, tuy nhiên vùng lặp sẽ tự động tỷ lệ cho phù hợp với vùng bao.

stretch

Image của border sẽ được kéo dài, nếu border-image-repeat không khai báo thì border image sẽ có dạng stretch.

border-image

source slice / width / outset repeat

Tổng hợp của các dạng border-image trên.

Ví dụ 1: Tạo đường bao bằng ảnh cho phần tử <div>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<style>

div{

border:15px solid;

width:250px;

padding:10px 20px;

background:green;

color:white;

}

#round{

border-image:url(nguồn_ảnh) 30 30 round;

}

#stretch{

border-image:url(nguồn_ảnh) 30 30 stretch;

}

</style>

</head>

<body style="color:green; font-size:18px;">

Ảnh làm đường bao:<br>

<img src="nguồn_ảnh">

<p>Thuộc tính border-image sẽ tạo đường bao dưới dạng ảnh cho phần tử.</p>

<div id="round">Trong trường hợp này ảnh sẽ được lặp để phủ quanh phần tử.</div>

<br>

<div id="stretch">Còn trong trường hợp này ảnh sẽ được kéo giãn để phủ quanh phần tử.</div>

</body>

</html>

Ví dụ 2: Ví dụ này sẽ sử dụng các thuộc tính con của thuộc tính border-image để tạo đường bao bằng ảnh cho phần tử <p>.

<html>

<head>

<meta charset="utf-8" />

<style>

p{

width:50%;

height:80px;

text-align:center;

margin-left:50px;

padding-top:30px;

box-sizing:border-box;

background:green;

color:white;

/* Safari và Chrome */

-webkit-border-image-source: url(nguồn_ảnh);

-webkit-border-image-slice: 30;

-webkit-border-image-width: 10px 20px;

-webkit-border-image-outset: 0 10px 10px 30px;

-webkit-border-image-repeat: round;

/* Firefox */

-moz-border-image-source: url(nguồn_ảnh);

-moz-border-image-slice: 30;

-moz-border-image-width: 10px 20px;

-moz-border-image-outset: 0 10px 10px 30px;

-moz-border-image-repeat: round;

/* Internet Explorer */

-ms-border-image-source: url(nguồn_ảnh);

-ms-border-image-slice: 30;

-ms-border-image-width: 10px 20px;

-ms-border-image-outset: 0 10px 10px 30px;

-ms-border-image-repeat: round;

/* Opera */

-o-border-image-source: url(nguồn_ảnh);

-o-border-image-slice: 30;

-o-border-image-width: 10px 20px;

-o-border-image-outset: 0 10px 10px 30px;

-o-border-image-repeat: round;

/* CSS3 */

border-image-source: url(nguồn_ảnh);

border-image-slice: 30;

border-image-width: 20px 30px;

border-image-outset: 0 10px 10px 30px;

border-image-repeat: round;

}

</style>

</head>

<body>

<p>Sử dụng các thuộc tính con của thuộc tính border-image.</p>

</body>

</html>

Ví dụ 3: Ví dụ này sẽ  thể hiện cú pháp tổng quát của thuộc tính border-image.

<html>

<head>

<meta charset="utf-8" />

<style>

p{

/* Cú pháp chuẩn */

border-image: url(nguồn_ảnh) 30 / 20px 30px / 0 10px 10px 30px round;

/* Safari và Chrome */

-webkit-border-image: url(nguồn_ảnh) 30 / 20px 30px / 0 10px 10px 30px round;

/* Firefox */

-moz-border-image: url(nguồn_ảnh) 30 / 20px 30px / 0 10px 10px 30px round;

/* Internet Explorer */

-ms-border-image: url(nguồn_ảnh) 30 / 20px 30px / 0 10px 10px 30px round;

/* Opera */

-o-border-image: url(nguồn_ảnh) 30 / 20px 30px / 0 10px 10px 30px round;

width:50%;

height:80px;

text-align:center;

margin-left:50px;

padding-top:15px;

box-sizing:border-box; color:red;

font-weight:bold;

}

</style>

</head>

<body>

<p>Cú pháp tổng hợp của thuộc tính border-image.</p><br>

</body>

</html>

» Tiếp: Sửa kích thước ảnh nền
« Trước: Tạo bóng với box-shadow
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!