HTML-CSS: Fit image in container
HTML-CSS : Exercise-38 with Solution
Using HTML, CSS fits an positions an image appropriately inside its container while preserving its aspect ratio.
- Use object-fit: contain to fit the entire image within the container while preserving its aspect ratio.
- Use object-fit: cover to fill the container with the image while preserving its aspect ratio.
- Use object-position: center to position the image at the center of the container.
HTML Code:
<!--License: https://bit.ly/3GjrtVF--><!-- Comment: Indicates the license information for the code -->
<!DOCTYPE html><!-- Comment: Declares the document type and version of HTML -->
<html><!-- Comment: Indicates the start of the HTML document -->
<head><!-- Comment: Contains meta-information about the HTML document -->
<meta charset="utf-8"><!-- Comment: Declares the character encoding for the document -->
<meta name="viewport" content="width=device-width"><!-- Comment: Sets the viewport width to the width of the device -->
<title>Using HTML, CSS fits an positions an image appropriately inside its container while preserving its aspect ratio</title><!-- Comment: Sets the title of the document -->
</head><!-- Comment: End of the head section -->
<body><!-- Comment: Contains the content of the HTML document -->
<img class="image image-contain" src="https://www.w3resource.com/html-css-exercise/html-css-practical-exercises/flower-9.jpeg" /><!-- Comment: Inserts an image with class "image-contain" and sets its source -->
<img class="image image-cover" src="https://www.w3resource.com/html-css-exercise/html-css-practical-exercises/flower-9.jpeg" /><!-- Comment: Inserts an image with class "image-cover" and sets its source -->
</body><!-- Comment: End of the body section -->
</html><!-- Comment: End of the HTML document -->
Explanation:
- HTML:
- The DOCTYPE declaration specifies the document type and version of HTML being used.
- <html>: Defines the root element of the HTML document.
- <head>: Contains meta-information about the HTML document, such as the character encoding and viewport settings.
- <meta charset="utf-8">: Specifies the character encoding of the document to UTF-8.
- <meta name="viewport" content="width=device-width">: Sets the viewport width to the width of the device.
- <title>: Sets the title of the HTML document.
- <body>: Contains the content of the HTML document.
- <img>: Inserts an image element.
- class="image image-contain": Specifies classes for the image element, allowing CSS styling.
- src="https://www.w3resource.com/html-css-exercise/html-css-practical-exercises/flower-9.jpeg": Sets the image source.
- The second <img> element has similar attributes but with a different class name (image-cover).
CSS Code:
.image {
background: #34495e; /* Comment: Sets the background color of the image */
border: 1px solid #34495e; /* Comment: Sets a solid border around the image */
width: 200px; /* Comment: Sets the width of the image */
height: 200px; /* Comment: Sets the height of the image */
}
.image-contain {
object-fit: contain; /* Comment: Specifies how the image should fit inside its container */
object-position: center; /* Comment: Specifies the position of the image inside its container */
}
.image-cover {
object-fit: cover; /* Comment: Specifies how the image should cover its container */
object-position: right top; /* Comment: Specifies the position of the image inside its container */
}
Explanation:
- CSS:
- .image: Styles applied to all elements with the class "image".
- background: Sets the background color of the image.
- border: Sets a solid border around the image.
- width: Sets the width of the image.
- height: Sets the height of the image.
- .image-contain: Additional styles applied to elements with the class "image-contain".
- object-fit: Specifies how the image should fit inside its container. In this case, "contain" ensures that the entire image is visible while preserving its aspect ratio.
- object-position: Specifies the position of the image inside its container. In this case, "center" horizontally centers the image.
- .image-cover: Additional styles applied to elements with the class "image-cover".
- object-fit: Specifies how the image should cover its container. In this case, "cover" ensures that the entire container is covered by the image while preserving its aspect ratio.
- object-position: Specifies the position of the image inside its container. In this case, "right top" positions the image to the top right corner of its container.
Go to:
PREV : Menu on image hover.
NEXT : Offscreen.
HTML-CSS Editor:
See the Pen html-css-practical-exercises by w3resource (@w3resource) on CodePen.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.