This example demonstrates the basic use case of x
, and how the CSS x
property takes precedence over the x
attribute.
HTML
We include four identical SVG <rect>
elements; their x
and y
attributes values are all 10
, meaning the four rectangles are all in the same location, 10px
from the top and left corner of the SVG viewport.
<svg xmlns="http://www.w3.org/2000/svg">
<rect width="100" height="100" x="10" y="10" />
<rect width="100" height="100" x="10" y="10" />
<rect width="100" height="100" x="10" y="10" />
<rect width="100" height="100" x="10" y="10" />
</svg>
CSS
We style all the rectangles to have a black border and be slightly transparent, so overlapping rectangles are visible. We provide each rectangle with different fill and x
values.
svg {
border: 1px solid;
width: 300px;
}
rect {
fill: none;
stroke: black;
opacity: 0.8;
}
rect:nth-of-type(2) {
x: 3em;
fill: red;
}
rect:nth-of-type(3) {
x: 180px;
fill: yellow;
}
rect:nth-of-type(4) {
x: 50%;
fill: orange;
}
Results
The left edges of the rectangles are at 10
(from the attribute), 3em
, 180px
, and 50%
, respectively. The SVG is 300px
wide, so the last rectangle's left side is at the 150px
mark.