CSS flex-shrink property
The flex-shrink
property in CSS is identified for setting the flex shrink factor of a particular flex item. In case the size of all the flex items are larger than the flex container, then the items shrink in order to fit in according to the flex-shrink
.
In use, the flex-shrink
property is used along with the other flex properties like the flex-grow
and flex-basis
property and is normally defined using the flex shorthand.
Syntax for flex-shrink
property
Following is the syntax for the flex-shrink
property.
flex-shrink: number| initial| inherit;
Example: CSS flex-shrink
property
In the example below, we are using the flex-shrink property with different border styles, colors, and their different values. In this case, we have given the flex-shrink
property value as 1 and 2.
<!DOCTYPE html>
<html>
<head>
<title>The flex-shrink property in CSS</title>
<style type="text/css">
#content {
display: flex;
width: 500px;
}
#content div {
flex-basis: 120px;
border: 3px solid purple;
}
.box {
flex-shrink: 1;
}
.box1 {
flex-shrink: 2;
}
</style>
</head>
<body>
<div id="content">
<div class="box" style="background-color:red;">A</div>
<div class="box" style="background-color:lightblue;">B</div>
<div class="box" style="background-color:yellow;">C</div>
<div class="box1" style="background-color:brown;">D</div>
<div class="box1" style="background-color:lightgreen;">E</div>
</div>
</body>
</html>
Output:
Example 2: CSS flex-shrink
property
Here in the example below, we are using the flex-shrink property with different border styles, colors, and different values. In this case, we have given the flex-shrink property value as 0.
<!DOCTYPE html>
<html>
<head>
<title>The flex-shrink property in CSS</title>
<style type="text/css">
#content {
display: flex;
width: 400px;
}
#content div {
flex-basis: 110px;
border: 3px solid purple;
}
.box {
flex-shrink: 0;
}
.box1 {
flex-shrink: 0;
}
</style>
</head>
<body>
<div id="content">
<div class="box" style="background-color:red;">A</div>
<div class="box" style="background-color:lightblue;">B</div>
<div class="box" style="background-color:yellow;">C</div>
<div class="box1" style="background-color:purple;">D</div>
<div class="box1" style="background-color:gray;">E</div>
</div>
</body>
</html>
Output:
Live Example
Here in this live example, you can test the code and execute the example using different values or even edit the code example.
Browser Compatibility
There are many browsers that do not support all the latest CSS properties. Hence, while developing any webpage, if you are using any CSS property you must check the browser compatibility for that CSS property and then use it. It is of immense importance today when there is a large variety of web browsers available.
Name of Browser |
Background size |
contain and cover |
Chrome |
29 |
29 |
Edge |
12 |
12 |
Firefox |
20 |
20 |
Internet Explorer |
10 |
10 |
Opera |
12.1 |
12.1 |
Safari |
9 |
9 |
Webview Android |
4.4 |
4.4 |
Chrome Android |
29 |
29 |
Firefox Android |
20 |
20 |
Opera Android |
12.1 |
12.1 |
IOS Safari |
9 |
9 |
Samsung Internet |
2.0 |
2.0 |
Conclusion
The initial value for the flex-shrink
property in CSS is one. This property is applicable to the flex items which includes in-flow
pseudo elements also. It is not an inherited property. The computed value for this property is the as specified one. The animation type for this property is a number.