What causes the gap between the image and div when the height of the div is adjusted?

Here is a simple HTML structure:

<div> <img style="width:100%;height:100%"/> </div>

The div appears like this in Chrome:

https://i.sstatic.net/pIFRf.png

However, there is a gap between the div and the image:

https://i.sstatic.net/5RobX.png

I noticed that the image is supposed to cover the entire div,

If I increase the height of the div by more than 10px, everything looks perfect.

https://i.sstatic.net/2ATyV.png

Now, the image covers the whole div:

https://i.sstatic.net/nBdxa.png

Upon testing, it was observed that if the height of the div is less, the gap becomes larger.

So what could be the issue here?

Provided below is an example snippet of code from my project for reference. You can refer to the image using Chrome Dev Tools:

Answer №1

Consider using this code snippet:

img {
  vertical-align: top;
}

This is recommended because the default value for vertical-align on img elements is baseline.

For more information, check out the following link: vertical-align

Answer №2

@Zange-chan, your understanding is a bit off. When you set the position of an element to "absolute," it will indeed be removed from the DOM flow but it will still contain its child elements. The solution to this problem is simple - just set the display property of the img element to block. Give it a try:

img {
   display: block;
}

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

SVG to create a gradient mask that appears transparent

I require assistance with working on svg's. I have a "background image" with another "image" layered over it. The "image" needs to have a hole cut out of it so that the background image can shine through. I managed to achieve this by utilizing svg: ...

When you use ReactDOM.render inside a <div>, it does not instantly generate HTML code

I am currently working with React version 16.7 and attempting to embed React components into a third-party JavaScript library (specifically, Highcharts) that requires me to output HTML from a function. This is the approach I am taking at the moment: funct ...

Dynamic updating of scores using Ajax from user input

My goal is to design a form that includes three "Likert Scale" input fields. Each of these three inputs will have a total of 10 points that can be distributed among them. The submit button should become enabled when the score reaches 0, allowing users to s ...

Is it possible to incorporate a button and a click event into this JavaScript function?

For over a day, I've been attempting to include three functionalities in this code, but have yet to succeed. 1° My goal is to insert a button on this page. I've attempted to create a standard button using HTML and CSS, but the fireworks displa ...

The functionality of -moz-background-clip:text is not functioning properly on Firefox browsers

Struggling to incorporate an image into a text within an h1 tag. Here's what I've attempted: <div class="image_clip"> <h1> MY WONDERFUL TEXT </h1> </div> In the CSS file: .image_clip{ background: url(../images/defa ...

"Learn the step-by-step process of retrieving the height and width of a user's

Functional Fiddle: http://jsfiddle.net/nbv8mb4a/ Tested Fiddle: http://jsfiddle.net/3m0zekyj/ The working Fiddle I created allows users to preview an image before uploading it. My next goal is to determine the height and width of the image in order to sc ...

AngularJS - Textarea not resetting content on ng-click event

Having an issue with my textarea. When attempting to clear it using ng-click, nothing happens... Can anyone provide assistance? Here is my code for testing: My app If you prefer to view it here: HTML : <div ng-controller="Ctrl1"> <d ...

How can I synchronize two webkit-animations at the same speed but with one covering a greater distance?

[Update: The solution involved creating two containers, with the second animation container configured to have left: 100%.] I designed a simple animation that moves a large gif image across the page horizontally, where the width of the gif is 1536px. Sin ...

Having difficulty in getting rid of the horizontal scrollbar

I need help replacing the horizontal scrollbar with arrow buttons to scroll through images (not the entire page). This is the code I tried: .scroll-images::-webkit-scrollbar{ -webkit-appearance: none; } However, the scrollbar is still ...

The UI Router template fails to inject despite state changes occurring

I've been attempting to create nested views, you can check out the Plunker demo https://embed.plnkr.co/oRMnMW4QoWwhSkm9maHf/. The state is updating as expected but the template remains the same. Could someone please point out where I may have gone wr ...

Guide on showing string array values in an alert popup using JavaScript

I am struggling to display a string array in a JavaScript alert popup. The goal is to show the string index or Serial Number, followed by a space and then a line break before displaying the value of each string in the array. Unfortunately, my current code ...

Splitting with Regex - One Time Operation

Here is some of my Jquery code along with Regex: $("[class^=ipsum-img],[class^=ipsum-img-]").each(function(){ var x = $(this).attr("class"); console.log(x.length); if (x.length>8) { var m = x.split(/(\d+)[^-]*$/g); cons ...

Maximizing the potential of a cell in a table

I am currently using AJAX to retrieve and display data in my table. However, I want to capture the actual value from the selected cell in the table. To better display user needs, I have split the returned value to obtain specific items. Below is the scri ...

I am trying to figure out how to properly utilize server-only functions within Next.js middleware

In my current project, I am utilizing Next.js 13 along with the App Router feature. While attempting to include a server-specific fetch function in middleware.js, an error message is encountered: Error: Unable to import this module from a Client Compone ...

The functionality of ItemSliding appears to be disabled when used in combination with

Could you please help me figure out why the Me button is not visible? I implemented the ItemSliding component. Here is the link to the stackblitz project. The issue is within the home folder. I am trying to create a list like the one below: UI https:// ...

Encryption: JavaScript security

Throughout my extensive career in coding, I have mostly written code for clients and not myself, so the need for protection was never a priority. Now, with years of experience in JavaScript & jQuery, I am facing challenges with Ajax requests that communica ...

How can you effectively transfer a parameter from .run to .config?

Currently, I am working on my angularjs ui-route project and have placed a variable called clientid in the .run() core function to store it in $rootScope. However, there comes a point where I need to access this stored variable within the .config() core. ...

query in PHP to display specific data

Seeking guidance for developing a document tracking system using PHP. Struggling with defining the correct title for my project and unable to generate relevant keywords for search queries. The main issue pertains to determining how the system can validat ...

How can I resolve the issue of event listeners in a for loop executing concurrently instead of sequentially?

Being new to JavaScript, I am faced with a challenge that I'm trying to overcome. The following example illustrates the issue I'm struggling with. for (let i = 0; i < 3; i++) { test(); console.log("2"); } function test() { documen ...

Encountering null injector errors when running ng test on an Angular application

I have successfully developed a webpage in my Angular application and it is running perfectly. But, when I run ng test, some errors are popping up in Karma like the one shown in the image below: https://i.sstatic.net/lUKS5.png superuser.component.ts // ...