w3resource

CSS Properties: How to center the alignments for one of the items inside a flexible element with JavaScript?

Go to Exercise page

Solution:

HTML Code:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"><!-- Declare character encoding -->
<title>How to center the alignments for one of the items inside a flexible element with JavaScript</title><!-- Set the title of the HTML document -->
<style>
#xyz {
width: 220px; /* Set width of the container */
height: 300px; /* Set height of the container */
border: 1px solid black; /* Set border of the container */
display: -webkit-flex; /* Safari */
-webkit-align-items: initial; /* Safari 7.0+ */
display: flex; /* Use flexbox layout for other browsers */
align-items: initial; /* Set alignment of items to its default value for other browsers */
}

#xyz div {
    -webkit-flex: 1; /* Safari 6.1+ */
    flex: 1; /* Allow the divs to grow and shrink to fill the available space horizontally */
}

#alignselfDiv {
    -webkit-align-self: center; /* Safari 7.0+ */
    align-self: center; /* Align this specific item vertically to the center */
}
</style>
</head>
<body>

<div id="xyz">
<div style="background-color:#99FF99;">Item1</div><!-- First div item -->
<div style="background-color:#33CCFF;" id="alignselfDiv">Item2 with more content.</div><!-- Second div item with alignment specified -->
<div style="background-color:#FF99FF;">Item3</div><!-- Third div item -->
</div>

<p>Click the "Try it" button to set the value of the alignSelf property to "stretch"</p><!-- Prompt to click the button -->
<button onclick="w3r()">Try it</button><!-- Button to trigger the JavaScript function -->

<script>
function w3r() {
    document.getElementById("alignselfDiv").style.WebkitAlignSelf = "stretch"; // Code for Safari 7.0+
    document.getElementById("alignselfDiv").style.alignSelf = "stretch"; // Stretch the alignment of the second div item vertically
}
</script>
</body>
</html>

Explanation:

  • The HTML document contains a flexible container (div#xyz) with three child div items.
  • One of the child div items (div#alignselfDiv) has its alignment set to center using CSS.
  • There's a button labeled "Try it" that, when clicked, triggers a JavaScript function (w3r()).
  • The JavaScript function sets the alignSelf property of the second div item to "stretch" when the button is clicked, effectively stretching its alignment vertically.

Live Demo:

See the Pen align-self-javascript-syntax-answer by w3resource (@w3resource) on CodePen.


See the solution in the browser

Supported browser

Firefox logo Chrome logo Opera logo Safari logo Internet Explorer logo
Yes Yes Yes Yes No

Go to Exercise page

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.