问题
Now I have a span element I give it width and height for example 500px I know it inline element so it doesn't accept width and height but why it applies when I float it??
span.first {
width: 500px;
height: 500px;
border: 1px solid #000;
float: right;
}
span.second {
width: 500px;
height: 500px;
border: 1px solid #000;
}
<span class="first">with float</span>
<span class="second">without float</span>
https://codepen.io/kemozzz/pen/KvVrXj
回答1:
In accordance with CSS rules, when you apply float to an element, in most cases it becomes a block element. Elements that are inline and inline-block will compute to block.
From MDN:
回答2:
When you float an element, it automatically becomes display: block
.
From the spec:
https://www.w3.org/TR/CSS22/visuren.html#dis-pos-flo
来源:https://stackoverflow.com/questions/45404969/why-does-an-inline-element-accept-width-and-height-when-floated