I would like to know what is the difference, if any, between left and margin left or right and margin right en CSS .
Can it be that the difference is that one is CSS and another CSS3 ?
I would like to know what is the difference, if any, between left and margin left or right and margin right en CSS .
Can it be that the difference is that one is CSS and another CSS3 ?
Yes .
One is for positioning elements and the other is for establishing printing to the element.
Practical example:
#caja-position {
width: 150px;
height: 150px;
background-color: red;
position: absolute;
top: 20px;
left: 50px;
margin-top: 20px; /* si funciona */
}
#caja-margen {
width: 50px;
height: 50px;
background-color: blue;
top: 1000px; /* no funciona */
left: 1000px; /* no funciona */
margin-left: 50px;
margin-top: 50px;
}
<div id="caja-position">
<div id="caja-margen"></div>
</div>
In order for the left, right, top, bottom properties to work, the property position must be declared first, in the example you will see that the properties caja-margen and top do not work in the left .
With the margin-* | -top -right -bottom -left properties it is used to specify a space around a box and can be specified independently.
Shorthands of the property margin :
margin: [top, right, bottom, y left] ej. margin: 10px;
margin: [top y bottom] [left y right] ej. margin: 10px 10px;
margin: [top] [right y left] [bottom] ej. margin: 10px 10px 10px;
margin: [top] [right] [bottom] [left] ej. margin: 10px 10px 10px 10px;
Short answer
Yes, yes there is.
Long answer
The left property is used to position an element, that is, to indicate that the element is positioned with a value x on the left with respect to the element on which it is taking reference. This property can only be realized if the element is positioned (with position relative , absolute or fixed ).
On the other hand, the property margin-left does not take into account the positioning reference of the object if not the margin that we are going to establish the element. That is, it will not position the element with respect to another, but instead it will place a left (or right) margin regardless of where it is positioned.
If you have doubts about what each type of positioning does, you can see the answer I gave in this other question: What is the difference between position: relative, position: absolute and position: fixed?
The difference between CSS and CSS3 is that CSS3 is an update that adds more quantities of attributes to a language such as CSS.