CSS left
属性定义了定位元素的左外边距边界与其包含块左边界之间的偏移,非定位元素设置此属性无效。
/* <length> values */ left: 3px; left: 2.4em; /* <percentage>s of the width of the containing block */ left: 10%; /* Keyword value */ left: auto; /* Global values */ left: inherit; left: initial; left: unset;
left
的效果取决于元素的position
属性:
- 当
position
设置为absolute
或fixed
时,left
属性指定了定位元素左外边距边界与其包含块左边界之间的偏移。 - 当
position
设置为relative
时,left
属性指定了元素的左边界离开其正常位置的偏移。 - 当
position
设置为sticky
时,如果元素在viewport里面,left
属性的效果和position为relative
等同;如果元素在viewport外面,left
属性的效果和position为fixed
等同。 - 当
position
设置为static
时,left
属性无效。
当left
和right
同时指定时,元素的位置会被重复指定。当容器是从左到右时,left
的值会被优先设定;当容器是从右到左时,right
的值会被优先设定。
初始值 | auto |
---|---|
适用元素 | positioned elements |
是否是继承属性 | 否 |
Percentages | refer to the width of the containing block |
适用媒体 | visual |
计算值 | if specified as a length, the corresponding absolute length; if specified as a percentage, the specified value; otherwise, auto |
Animation type | a length, percentage or calc(); |
正规顺序 | the unique non-ambiguous order defined by the formal grammar |
语法
值
<length>
- 可以是负的,正的 或者 null
<length>
表示:- 对于绝对定位的元素,元素左外边距边界与其包含块左边界之间的偏移。
- 对于相对定位定位的元素,元素的左边界离开其正常位置的偏移。
<percentage>
- 代表元素包含块的宽度的百分比
<percentage>
。 auto
- 这个关键字表示:
inherit
- 这个关键字表示该值与其父元素 (可能不是它的包含块) 的计算值相同。对这个计算值的处理将和它原本为
<length>
,<percentage>
或auto
一样。
常用语法
<length> | <percentage> | auto
示例
CSS
#wrap { width: 700px; margin: 0 auto; background: #5C5C5C; } pre { white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; } #example_1 { width: 200px; height: 200px; position: absolute; left: 20px; top: 20px; background-color: #D8F5FF; } #example_2 { width: 200px; height: 200px; position: relative; top: 0; right: 0; background-color: #C1FFDB; } #example_3 { width: 600px; height: 400px; position: relative; top: 20px; left: 20px; background-color: #FFD7C2; } #example_4 { width:200px; height:200px; position:absolute; bottom:10px; right:20px; background-color:#FFC7E4; }
HTML
<div id="wrap"> <div id="example_1"> <pre> position: absolute; left: 20px; top: 20px; </pre> <p>The only containing element for this div is the main window, so it positions itself in relation to it.</p> </div> <div id="example_2"> <pre> position: relative; top: 0; right: 0; </pre> <p>Relative position in relation to its siblings.</p> </div> <div id="example_3"> <pre> float: right; position: relative; top: 20px; left: 20px; </pre> <p>Relative to its sibling div above, but removed from flow of content.</p> <div id="example_4"> <pre> position: absolute; bottom: 10px; right: 20px; </pre> <p>Absolute position inside of a parent with relative position</p> </div> </div> </div>
案例
规范
Specification | Status | Comment |
---|---|---|
CSS Transitions left |
Working Draft | Defines left as animatable. |
CSS Positioned Layout Module Level 3 left |
Working Draft | Adds behavior for sticky positioning. |
CSS Level 2 (Revision 1) left |
Recommendation | Initial definition. |
浏览器兼容
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Basic support | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 5.5 | Opera Full support 5 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support 1 | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support