Tillitsdone
down Scroll to discover

CSS inset-block-end Flexible Element Positioning

CSS inset-block-end allows flexible element positioning in modern web design.

It adapts to writing modes and text orientation, offering options like length, percentage, and auto.
thumbnail

Introduction

The inset-block-end CSS property defines the logical block end offset of an element, which can be the physical top, right, bottom, or left property. Introduced in September 2021, this property is widely supported across various browsers. It helps achieve precise control over element positioning, improving user experience and design aesthetics.

Specification

The inset-block-end property is part of the CSS Logical Properties and Values Level 1 specification. This spec aims to provide logical properties and values that adapt to different writing modes, making CSS more intuitive and flexible for internationalization. The inset-block-end property is defined in the section on position properties within this specification.

The formal specification can be found here: CSS Logical Properties and Values Level 1 - Position Properties.

Description

The inset-block-end CSS property defines the logical block end offset of an element. It’s useful for positioning elements relative to their containing block, adapting to the element’s writing mode, directionality, and text orientation. Unlike traditional properties such as top, right, bottom, and left, which are fixed to the physical layout, inset-block-end provides a more flexible and intuitive approach to positioning.

This property is essential for creating responsive and adaptable web designs, especially for websites that support multiple languages or require complex layouts. By using inset-block-end, developers can ensure that the positioning of elements remains consistent and logical, regardless of the writing direction or text orientation.

The inset-block-end property has no effect on non-positioned elements, meaning it only applies to elements that have been positioned using CSS properties like relative, absolute, fixed, or sticky.

Syntax

The inset-block-end property in CSS specifies the logical block end offset of an element. The syntax is straightforward and allows for various values, including lengths, percentages, and keywords. Here’s the basic syntax:

/* <length> values */
inset-block-end: 3px;
inset-block-end: 2.4em;
/* <percentage> values of the width or height of the containing block */
inset-block-end: 10%;
/* Keyword value */
inset-block-end: auto;
/* Global values */
inset-block-end: inherit;
inset-block-end: initial;
inset-block-end: revert;
inset-block-end: revert-layer;
inset-block-end: unset;

Values

The inset-block-end property accepts the following values:

  • <length>: Specifies the offset using a fixed length value (e.g., px, em, cm). Negative values are also allowed.
    inset-block-end: 3px;
    inset-block-end: 2.4em;
  • <percentage>: Specifies the offset as a percentage of the containing block’s logical height.
    inset-block-end: 10%;
  • auto: Allows the browser to determine the offset. This is the default value.
    inset-block-end: auto;
  • inherit: Inherits the inset-block-end value from the parent element.
    inset-block-end: inherit;
  • initial: Sets the inset-block-end property to its default value.
    inset-block-end: initial;
  • revert: Reverts the inset-block-end property to the value specified by the user agent’s default stylesheet.
    inset-block-end: revert;
  • revert-layer: Reverts the inset-block-end property to the value specified by the user agent’s default stylesheet for the current cascade layer.
    inset-block-end: revert-layer;
  • unset: Resets the inset-block-end property to its inherited value if it inherits, or to its initial value if not.
    inset-block-end: unset;

Formal Definition

The inset-block-end property in CSS is formally defined to specify the logical block end offset of an element. This property is crucial for positioning elements relative to their containing block, adapting to the element’s writing mode, directionality, and text orientation. Here is a detailed breakdown of its formal definition:

  • Initial Value: auto The default value for inset-block-end is auto, which allows the browser to determine the offset automatically.
  • Applies to: Positioned elements This property only affects elements that have been positioned using CSS properties like relative, absolute, fixed, or sticky.
  • Inherited: No The inset-block-end property is not inherited from the parent element by default.
  • Percentages: Logical height of the containing block When using percentage values, the offset is calculated based on the logical height of the containing block.
  • Computed Value: Same as box offsets, but logical The computed value of inset-block-end corresponds to the physical offset properties (top, right, bottom, left), but with logical directions.
  • Animation Type: Length, percentage, or calc() The inset-block-end property can be animated using length, percentage, or calc() values.

Formal Syntax

The formal syntax for the inset-block-end property is as follows:

inset-block-end =
auto
| <length-percentage>
<length-percentage> =
<length>
| <percentage>
  • auto: Allows the browser to determine the offset.
  • <length-percentage>: Specifies the offset using a fixed length or a percentage of the containing block’s logical height.

Examples

Basic Usage

HTML:

<div>
<p class="exampleText">Example text</p>
</div>

CSS:

div {
background-color: yellow;
width: 120px;
height: 120px;
}
.exampleText {
position: relative;
inset-block-end: 20px;
background-color: #c8c800;
}

Result: The paragraph element will be positioned 20 pixels from the end of the block in the logical direction, which in this case is the bottom of the div.

Vertical Writing Mode

HTML:

<div>
<p class="exampleText">Example text</p>
</div>

CSS:

div {
background-color: yellow;
width: 120px;
height: 120px;
}
.exampleText {
writing-mode: vertical-rl;
position: relative;
inset-block-end: 20px;
background-color: #c8c800;
}

Result: The paragraph element will be positioned 20 pixels from the end of the block in the logical direction, which in this case is the right side of the div due to the vertical-rl writing mode.

Using Percentage Values

HTML:

<div>
<p class="exampleText">Example text</p>
</div>

CSS:

div {
background-color: yellow;
width: 120px;
height: 120px;
}
.exampleText {
position: relative;
inset-block-end: 10%;
background-color: #c8c800;
}

Result: The paragraph element will be positioned 10% from the end of the block in the logical direction, which in this case is the bottom of the div.

Browser Compatibility

The inset-block-end property is well-supported across many modern browsers, making it a reliable choice for web developers. Introduced in September 2021, this feature has become widely available, ensuring seamless functionality across different devices and browser versions.

  • Firefox: Supported from version 63 and above.
  • Google Chrome: Supported from version 87 and above.
  • Edge: Supported from version 87 and above.
  • Opera: Supported from version 73 and above.
  • Safari: Supported from version 14.1 and above.

For the latest information, check out the MDN Web Docs.

See Also

To learn more about related CSS properties, check out:

  • Other Inset Properties:

  • Mapped Physical Properties:

    • top: Sets the top offset of an element.
    • right: Sets the right offset of an element.
    • bottom: Sets the bottom offset of an element.
    • left: Sets the left offset of an element.
  • Related Properties:

For more details and examples, visit the MDN Web Docs.

icons/css-4.svg CSS Blogs
CSS3 is the latest version of Cascading Style Sheets, offering advanced styling features like animations, transitions, shadows, gradients, and responsive design.
css_property_cover/css-property-padding-block.png CSS Padding-Block Simplify Padding Management Learn about CSS padding-block, a powerful tool for managing logical block padding. Discover use cases and available options like length, percentage, inherit, and initial. css_property_cover/css-property-padding-inline-start.png Understanding CSS padding-inline-start for Responsive Design Learn how to use the CSS padding-inline-start property to add padding at the start of an element's inline axis. Explore its use cases, available options, and compatibility. css_property_cover/css-property-anchor-name.png CSS Anchor-Name Enhancing Web Layouts with Anchors Discover the CSS anchor-name property, a powerful tool for defining elements as anchors and creating dynamic, responsive web layouts. Learn about its use cases, available options, and how to effectively implement it in your projects. css_property_cover/css-property-border-block-start.png CSS Border-Block-Start Simplified Border Styling CSS border-block-start is a versatile property for setting block-start border styles in a single declaration. Use it to simplify border definitions, adaptable to various writing modes and text orientations. Options include width, style, and color. css_property_cover/css-property-font-size.png CSS Font-Size Mastering Text Sizes Learn how to use CSS font-size to control text sizes on webpages. Explore available options like pixels, ems, rems, and percentages for responsive design. css_property_cover/css-property-font-variant-position.png CSS Font-Variant-Position Enhance Typography with Superscript and Subscript Discover the CSS font-variant-position property for controlling superscript and subscript glyphs. Learn about its use cases, available options like 'normal', 'sub', and 'super', and how to incorporate it into your web design projects for improved typography.
icons/logo-tid.svg

Talk with CEO

Ready to bring your web/app to life or boost your team with expert Thai developers?
Contact us today to discuss your needs, and let’s create tailored solutions to achieve your goals. We’re here to help at every step!
🖐️ Contact us
Let's keep in Touch
Thank you for your interest in Tillitsdone! Whether you have a question about our services, want to discuss a potential project, or simply want to say hello, we're here and ready to assist you.
We'll be right here with you every step of the way.
Contact Information
rick@tillitsdone.com+66824564755
Find All the Ways to Get in Touch with Tillitsdone - We're Just a Click, Call, or Message Away. We'll Be Right Here, Ready to Respond and Start a Conversation About Your Needs.
Address
9 Phahonyothin Rd, Khlong Nueng, Khlong Luang District, Pathum Thani, Bangkok Thailand
Visit Tillitsdone at Our Physical Location - We'd Love to Welcome You to Our Creative Space. We'll Be Right Here, Ready to Show You Around and Discuss Your Ideas in Person.
Social media
Connect with Tillitsdone on Various Social Platforms - Stay Updated and Engage with Our Latest Projects and Insights. We'll Be Right Here, Sharing Our Journey and Ready to Interact with You.
We anticipate your communication and look forward to discussing how we can contribute to your business's success.
We'll be here, prepared to commence this promising collaboration.
Frequently Asked Questions
Explore frequently asked questions about our products and services.
Whether you're curious about features, warranties, or shopping policies, we provide comprehensive answers to assist you.