Learn more about float and inline-block
This article mainly introduces an in-depth understanding of float and inline-block, and analyzes them from the aspects of compatibility and impact on parent elements. It is recommended to friends for reference
work has been relatively easy recently, so I have been writing my own canvas library. I don’t have any good knowledge to write a blog, so I have been stagnant for 2 months. So I decided to spend some time writing one today. css blog post, I happened to meet these two guys when I was writing the interface for the project recently... So I will come with you to have a semi-in-depth understanding
First of all, compatibility
If you use float, you don’t have to worry about it being compatible with all browsers. It is a very old attribute.
inline-block can only be used in IE8 or above (including 8). Check it out Information, in fact, IE5.5 already had inline-block, but the implementation is different, so if you want to be compatible with lower versions of IE, you can only use additional code
The code is as follows:
display:inline; //Force no line breaks
zoom:1; // Used to trigger hasLayout, monkeys who are interested in in-depth understanding can learn more by themselves
The second is the impact on the parent element
There is nothing to say about inline-block. The only thing to note is that every element with inline-block set will directly have gaps. You can add it to the parent element. The code to set
is as follows:
font-size: 0;
to eliminate it, but everyone knows the consequences, but I I still think this is the simplest and most violent method. Of course, there are other methods. Please look for
float by yourself. Elements with this attribute set will break away from the text flow, which means it will be the same as position :absolute is the same, but it will not be the same for elements with this attribute set. So the problem is that the parent element will not change the length and width with the size of the child element, but if the parent element is set to inline-block, then The length and width will change with the child elements (provided that the browser is compatible with inline-block, if it is compatible, I will use inline-block directly~).
So do not set the inline-block attribute for the parent element Sometimes you need toclear the float.
After the last floating element before the end of the parent element.clear: both (the principle is probably to use an element with text flow Position the size of the parent element), so that the height of the parent element will change with the floating element
Finally there are some other small differences
Baseline: float and inline-block The baseline of float is different.
The baseline of float is that the floating element is close to the top.
The baseline of inline-block is the default baseline, so it is more flexible and can be used with vertical-align.
Finally... Personally, I still prefer to use inline-block more. Most of the places where float is used can be replaced by inline-block. Only when it is necessary to surround an element, float is the only one. Solution
The above is the detailed content of Learn more about float and inline-block. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Maximum value of float: 1. In C language, the maximum value of float is 3.40282347e+38. According to the IEEE 754 standard, the maximum exponent of the float type is 127, and the number of digits of the mantissa is 23. In this way, the maximum floating point number is 3.40282347 e+38; 2. In the Java language, the maximum float value is 3.4028235E+38; 3. In the Python language, the maximum float value is 1.7976931348623157e+308.

The precision of float can reach 6 to 9 decimal places. According to the IEEE754 standard, the number of significant digits that the float type can represent is approximately 6 to 9 digits. It should be noted that this is only the theoretical maximum precision. In actual use, due to the rounding error of floating point numbers, the precision of the float type is often lower. When performing floating-point number operations in a computer, precision loss may occur due to the precision limitations of floating-point numbers. In order to improve the precision of floating point numbers, you can use higher precision data types, such as double or long double.

The float32 byte includes the sign bit, exponent bit and mantissa bit, and is used to represent 32-bit floating point numbers. Detailed introduction: 1. Sign bit (1 bit), used to represent the sign of a number, 0 represents a positive number, 1 represents a negative number; 2. Exponent bit (8 bits), used to represent the exponent part of a floating point number, through the exponent bit , you can adjust the size range of the floating-point number; 3. The mantissa bit (23 bits) is used to represent the mantissa part of the floating-point number, and the mantissa bit stores the decimal part of the floating-point number. The sign bit determines the sign of a floating point number, and the exponent bit and the mantissa bit jointly determine the size and precision of the floating point number.

Float in C language is a data type used to represent single-precision floating point numbers. Floating point numbers are real numbers represented in scientific notation and can represent very large or very small values. Variables of the float type can store values with 6 significant digits after the decimal point. In C language, the float type can be used to operate and store floating point numbers. Its variables can be used to represent decimals, fractions, scientific notation, etc. that need to be accurately represented. Real numbers, unlike integer types, floating point numbers can represent numbers after the decimal point, and can perform four arithmetic operations on decimals.

Common database float lengths are: 1. The float type length in MySQL can be 4 bytes or 8 bytes; 2. The float type length in Oracle can be 4 bytes or 8 bytes; 3. , The length of the float type in SQL Server is fixed at 8 bytes; 4. The length of the float type in PostgreSQL can be 4 bytes or 8 bytes, etc.

Float layout can cause problems such as clearing floats, element overlapping problems, text wrapping problems, and responsive layout problems. Detailed introduction: 1. Clear the floating problem. When using float layout, the floating elements will break away from the document flow, which may cause the parent container to be unable to wrap the floating elements correctly. In this case, the height of the parent container will collapse, causing layout chaos; 2. Element overlapping problem. When multiple elements use float layout, they may overlap. This is because the floating elements no longer occupy the normal document flow position and so on.

The float attribute values include left, right, none, inherit, clearinline-start and inline-end. Detailed introduction: 1. left, the element floats to the left, that is, the element will be as close to the left side of the container as possible, and other elements will surround it on the right side; 2. right, the element floats to the right, that is, the element will be as close to the container as possible On the right, other elements will surround it on the left; 3. The default value of none, the elements will not float, and will be arranged according to the normal document flow, etc.

The main differences between float and double lie in precision, storage and calculation speed, range, and use in programming languages. Detailed introduction: 1. The precision is different. Float is a single-precision floating point number, occupying 4 bytes (32 bits), while double is a double-precision floating point number, occupying 8 bytes (64 bits); 2. The storage and calculation speed are different. , double takes up more space and requires more storage space to store values. In applications that require high performance and speed, it may be more efficient to use the float type; 3. Different ranges, etc.
