Home > Article > Web Front-end > CSS3 box-shadow attribute usage and single-sided shadow effect settings
3.5.2 How to use the box-shadow attribute (1)
Compared with making pictures with PSD software, box-shadow is much more convenient to modify the shadow effect of elements. , because box-shadow can modify six parameters to obtain different effects. The following is a demonstration of the box-shadow property with some simple cases.
1. Single-sided shadow effect
The single-sided shadow effect of the defined element is similar to the single-sided border color of the coordinated border, for example:
> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>box-shadow设置单边阴影效果title> <style type="text/css"> .box-shadow { width: 200px; height: 100px; border-radius: 5px; border: 1px solid #ccc; margin: 20px; } .top { box-shadow: 0 -2px 0 red; } .right { box-shadow: 2px 0 0 green; } .bottom { box-shadow: 0 2px 0 blue; } .left { box-shadow: -2px 0 0 orange; } style> head> <body> <p class="box-shadow top">p> <p class="box-shadow right">p> <p class="box-shadow bottom">p> <p class="box-shadow left">p> body> html>
The effect is shown in Figure 3-38.
In this case, box-shadow is used to set single-sided shadow effects on the top, right, bottom and left sides of the element. It is mainly implemented through the offset of the horizontal and vertical shadows of the box-shadow. When the x-offset is a positive value, the right shadow is generated. When it is a negative value, the left shadow is generated. When the y-offset is a positive value, the bottom shadow is generated. Shadow, otherwise a negative value generates a top shadow. This example is a single-sided shadow projection effect (the shadow blur radius is 0), but if the shadow blur radius is not 0, can the above method still achieve a single-sided shadow effect? Don’t rush to answer. Add a blur radius to the above example, for example:
.top { box-shadow: 0 -2px 5px red; } .right { box-shadow: 2px 0 5px green; } .bottom { box-shadow: 0 2px 5px blue; } .left { box-shadow: -2px 0 5px orange; }
Figure 3-39 shows that this effect is not ideal. Edge shadow effect, when box-shadow adds a shadow blur radius of 5px, the shadow is no longer a solid shadow projection, and the shadow clarity spreads outward, giving it a more shadowy effect. But it caused another problem, adding a light shadow effect to the other three sides of the element, but this is not the effect required by the design.
How to do it? At this time, the shadow expansion radius (spread-radius) in the box-shadow attribute will be a very critical attribute. To achieve a single-sided shadow effect, this attribute must be equipped (in addition to the single-sided solid shadow).
.top { box-shadow: 0 -4px 5px -3px red; } .right { box-shadow: 4px 0 5px -3px green; } .bottom { box-shadow: 0 4px 5px -3px blue; } .left { box-shadow: -4px 0 5px -3px orange; }
The above code adjusts the displacement of the shadow and adds the expansion radius of the box-shadow,
The above is the detailed content of CSS3 box-shadow attribute usage and single-sided shadow effect settings. For more information, please follow other related articles on the PHP Chinese website!