How Does border-image Work with Linear-Gradient Borders?
The border-image-slice property specifies edge offsets for raster images or coordinates for vector images. According to the CSS specification, this value can be a unitless number, representing pixels for raster images or relative coordinates for vector images. However, when using a gradient, certain complexities arise.
Gradient Border Image
In your example, you've defined a gradient border image as follows:
border-image: repeating-linear-gradient(45deg, #000, #000 1.5%, transparent 1.5%, transparent 5%) 80;
Here, the 80 specifies the size of the image slice. When using a gradient, the size of the image is considered to be equal to the size of the element. The border-image-width defines the 9 regions where the slices will be placed (or border-width is used if not defined).
Understanding border-image-slice
As per the specification, the border-image-slice property considers the initial image to create the slices. When you specify a unitless value (like 80 in your example), it's interpreted as a pixel value. A percentage value is resolved against the size of the element.
Slicing and Regions
To achieve an optimal result, the slices should be equal to the regions defined by border-image-width. In your case, 80 represents 80 pixels because you have a border of 5em (which is 5x16px = 80px). This means the slice is of the same size as the border, ensuring the gradient aligns correctly.
In summary, when using a gradient border image, border-image-slice should match border-image-width (or border-width) to align the slices perfectly with the regions.
The above is the detailed content of How Can I Use `border-image-slice` Effectively with Linear-Gradient Borders?. For more information, please follow other related articles on the PHP Chinese website!