CSS align-self Property

CSS align-self Property

CSS align-self Property


CSS align-self property aligns the selected items inside the current flex line and overrides the align-items values.

The align-self property is one of the CSS3 properties.

The align-self property accepts the same values as the align-items property:

  • auto
  • stretch
  • flex-start
  • flex-end
  • center
  • baseline

This property will be ignored if a vertical margin of a flex item is set to "auto". The align-self property does not apply to table cells or block-level boxes.
Initial Valueauto
Applies toFlex items, grid items, and absolutely-positioned boxes.
InheritedNo.
AnimatableNo.
VersionCSS3
DOM Syntaxobject.style.alignSelf = "auto";

Syntax

align-self: auto | stretch | center | flex-start | flex-end | baseline | initial | inherit;

Example of the align-self property:

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
    <style>
      section {
        display: flex;
        align-items: center;
        height: 120px;
        padding: 10px;
        background: #99caff;
      }
      div {
        height: 60px;
        background: #1c87c9;
        margin: 5px;
      }
      div:nth-child(1) {
        align-self: flex-start;
        background: #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Align-self property example</h2>
    <p>Here the align-self for the first box is set to "flex-start".</p>
    <section>
      <div>Box #1</div>
      <div>Box #2</div>
      <div>Box #3</div>
    </section>
  </body>
</html>

Here is an example where three boxes are used and the second is specified by "flex-end" value.

Example of the align-self property with the "flex-end" value: 

<!DOCTYPE html>
<html>
  <head>
    <title>The title of the document</title>
    <style>
      section {
        display: flex;
        align-items: center;
        height: 120px;
        padding: 10px;
        background: #99caff;
      }
      div {
        height: 60px;
        background: #1c87c9;
        margin: 5px;
      }
      div:nth-child(2) {
        align-self: flex-end;
        background: #8ebf42;
      }
    </style>
  </head>
  <body>
    <h2>Align-self property example</h2>
    <p>Here the align-self for the second box is set to "flex-end".</p>
    <section>
      <div>Box #1</div>
      <div>Box #2</div>
      <div>Box #3</div>
    </section>
  </body>
</html>

Values

ValueDescription
autoThe item inherits its parent container's align-items property. This is the default value.
stretchMakes items stretch to fit the container.
centerItems are placed at the center of the container.
flex-startItems are placed at the beginning of the container.
flex-endItems are placed at the end of the container.
baselineItems are positioned at the baseline of the container.


Reactions

Post a Comment

0 Comments

close