Shape

Shape Outside

Can I use ?Can I use ?
classproperties
shape-outside:valueshape-outside: value
shape-outside:noneshape-outside: none
shape:marginshape-outside: margin-box
shape:contentshape-outside: content-box
shape:bordershape-outside: border-box
shape:paddingshape-outside: padding-box
shape:inset()shape-outside: inset()
shape:circle()shape-outside: circle()
shape:ellipse()shape-outside: ellipse()
shape:polygon()shape-outside: polygon()
shape:url()shape-outside: url()
shape:linear-gradient()shape-outside: linear-gradient()

Overview

The shape-outside CSS property defines a shape—which may be non-rectangular—around which adjacent inline content should wrap. By default, inline content wraps around its margin box;
shape-outside provides a way to customize this wrapping, making it possible to wrap text around complex objects rather than simple boxes.

<div class="">

The shape-image-threshold CSS property sets the alpha channel threshold used to extract the shape using an image as the value for shape-outside.

Any pixels whose alpha component's value is greater than the threshold are considered to be part of the shape for the purposes of determining its boundaries.
For example, a value of 0.5 means that the shape will enclose all the pixels that are more than 50% opaque.

<div>
    <p class="mt:0">
        The shape-image-threshold CSS property sets the alpha channel threshold used to extract the shape using an image as the value for shape-outside.
    </p>
    <div class="shape-outside:none 
        clip-outside:none
        flex float:left w:240 h:120 
        bg:url('/images/logo.svg')|no-repeat|top|left/contain
        shape-outside:url('/images/logo.svg')
        shape-image-threshold:0.5 shape:25">
    </div>
    <p class="mt:0">
        Any pixels whose alpha component's value is greater than the threshold are considered to be part of the shape for the purposes of determining its boundaries.<br>
        For example, a value of 0.5 means that the shape will enclose all the pixels that are more than 50% opaque.
    </p>
</div>

Applying with functions

<div class="shape-outside:$(value)">...</div>

Master supports native CSS variables and functions, just add var(--key) or use shorthand$(key) for variables.

You can also use calc(expression), env(expression) and other CSS functions if the property supports it.

To learn more, see the Functions documentation.

Conditionally apply

States and selectors

<div class="shape-outside:inset(0|20px):hover">...</div>

Master supports all native CSS selectors, just add :hover, :disabled, chaining, combinators and other CSS selectors as usual.

To learn more, see the Selectors documentation.

Responsive breakpoints

<div class="shape-outside:inset(0|20px)@sm">...</div>

Responsive breakpoints can be applied to all styles. Some available breakpoints are 3xs, 2xs, xs, sm,md, lg, xl, 2xl, 3xl, 4xl. Arbitrary breakpoints can be specified through comparison operators >, >=, <, <=.

To learn more, see the Breakpoints documentation.

<div class="shape-outside:inset(0|20px)@print">...</div>

Master supports media types like print, screen, speech, all, and other media queries.

To learn more, see the Media Queries documentation.

Dark mode and color schemes

<div class="shape-outside:inset(0|20px)@dark">...</div>

Master uses the selector html.dark to support color schemes. Now, you can easily fine-tune your style for the color schemes.

To learn more, see the Color Schemes documentation.


© Aoyue Design LLC.
Issue on this page
Edited byAronLola