Skip to main content

Contain

Struct Contain 

Source
pub struct Contain(u8);
Expand description

The layout-affecting parts of the CSS contain property.

Containment limits the ways in which a box’s contents can affect layout outside of the box (and vice versa). Taffy implements the layout-relevant containment types:

  • Contain::LAYOUT: the box establishes an independent formatting context, and is treated as having no baseline for baseline-alignment purposes (layout containment).
  • Contain::PAINT: the box establishes an independent formatting context. Paint containment’s other effects (clipping, containing absolutely-positioned descendants, stacking context) are outside of Taffy’s scope.

The style containment type has no effect on layout and is therefore not represented (it is accepted and ignored when parsing). Size and inline-size containment are not currently implemented.

https://developer.mozilla.org/en-US/docs/Web/CSS/contain

Tuple Fields§

§0: u8

Implementations§

Source§

impl Contain

Source

pub const NONE: Contain

No containment (the default)

Source

pub const LAYOUT: Contain

Layout containment: the box establishes an independent formatting context and is treated as having no baseline for baseline-alignment purposes. https://drafts.csswg.org/css-contain-2/#containment-layout

Source

pub const PAINT: Contain

Paint containment: the box establishes an independent formatting context. Its other effects don’t affect layout. https://drafts.csswg.org/css-contain-2/#containment-paint

Source

pub const CONTENT: Contain

The containment implied by contain: content (layout paint, ignoring style containment)

Source

pub const DEFAULT: Contain = Contain::NONE

The default containment (no containment)

Source

pub const fn contains(self, other: Contain) -> bool

Returns whether self contains all of the containment types in other

Source

pub const fn intersects(self, other: Contain) -> bool

Returns whether self contains any of the containment types in other

Source

pub const fn union(self, other: Contain) -> Contain

Returns the union of the containment types in self and other

Source

pub const fn establishes_independent_formatting_context(self) -> bool

Whether this containment causes the box to establish an independent formatting context (both layout and paint containment do)

Source

pub const fn suppresses_baseline(self) -> bool

Whether this containment suppresses the box’s baseline for baseline-alignment purposes (layout containment does, paint containment does not)

Source

pub const fn contains_scrollable_overflow(self) -> bool

Whether this containment prevents the box’s overflowing content from contributing to an ancestor’s scrollable overflow region (layout containment treats such overflow as ink overflow; paint containment clips it)

Trait Implementations§

Source§

impl BitOr for Contain

Source§

type Output = Contain

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Contain) -> Contain

Performs the | operation. Read more
Source§

impl BitOrAssign for Contain

Source§

fn bitor_assign(&mut self, rhs: Contain)

Performs the |= operation. Read more
Source§

impl Clone for Contain

Source§

fn clone(&self) -> Contain

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Contain

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Contain

Source§

fn default() -> Contain

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Contain

Source§

fn eq(&self, other: &Contain) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Contain

Source§

impl Eq for Contain

Source§

impl StructuralPartialEq for Contain

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.