CSS Properties: How to center the alignments for one of the items inside a flexible element with JavaScript?
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
Yes | Yes | Yes | Yes | No |
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics