如何将一个盒子在显示在浏览器的正中间_html/css_WEB-ITnose
1)
position: absolute; top:50%; left:50%; margin-left:-101px; margin-top:-101px;
2)
position:absolute; left:0; top:0; right:0; bottom:0; margin:auto;
2、通过JS来实现
说明
- 在普通文档流里,margin: auto; 的意思是设置元素的margin-top和margin-bottom为0。
W3.org:?If ‘margin-top’, or ‘margin-bottom’ are ‘auto’, their used value is 0.
2. 设置了position: absolute; 的元素会变成块元素,并脱离普通文档流。而文档的其余部分照常渲染,元素像是不在原来的位置一样。 Developer.mozilla.org:?…an element that is positioned absolutely is taken out of the flow and thus takes up no space
3. 设置了top: 0; left: 0; bottom: 0; right: 0; 样式的块元素会让浏览器为它包裹一层新的盒子,因此这个元素会填满它相对父元素的内部空间,这个相对父元素可以是是body标签,或者是一个设置了position: relative; 样式的容器。 Developer.mozilla.org:?For absolutely positioned elements, the top, right, bottom, and left properties specify offsets from the edge of the element’s containing block (what the element is positioned relative to).
4. 给元素设置了宽高以后,浏览器会阻止元素填满所有的空间,根据margin: auto; 的要求,重新计算,并包裹一层新的盒子。 Developer.mozilla.org:?The margin of the [absolutely positioned] element is then positioned inside these offsets.
5. 既然块元素是绝对定位的,又脱离了普通文档流,因此浏览器在包裹盒子之前会给margin-top和margin-bottom设置一个相等的值。 W3.org:?If none of the three [top, bottom, height] are ‘auto’: If both ‘margin-top’ and ‘margin-bottom’ are ‘auto’, solve the equation under the extra constraint that the two margins get equal values.?AKA: center the block vertically
使用“完全居中”,有意遵照了标准margin: auto; 样式渲染的规定,所以应当在与标准兼容的各种浏览器中起作用。
推荐阅读
-
div中有一个marquee标签,marquee中有滚动显示的文字,如何让文字在div中垂直居中从右向左滚动显示?_html/css_WEB-ITnose
-
不知大家遇到过这种问题么,一个层宽度设为100%,并设置背景图片,在浏览器中浏览,缩小窗口到滚动条出现,然后拖动滚动条到右侧,右侧的区域变成空白,怎么解决?_html/css_WEB-ITnose
-
请教一个CSS的问题,文字无法在某个DIV内显示_html/css_WEB-ITnose
-
请教一个CSS的问题,文字无法在某个DIV内显示_html/css_WEB-ITnose
-
html点击不同图片怎么在同一个div内显示不同的页面?_html/css_WEB-ITnose
-
html点击不同图片怎么在同一个div内显示不同的页面?_html/css_WEB-ITnose
-
一个在firefox下异常的li显示问题,在IE78等版本都显示正常_html/css_WEB-ITnose
-
我遇到一个问题,这个页面在ie7,ie8下显示正常,但在IE6下显示就是页面左边的显示正常,右边的整个被挤到下边去了,而且是右下边,各位帮忙看一下?_html/css_WEB-ITnose
-
谁能给我一个用java实现柱状图,饼图的例子!链接数据库的。还有就是不知道怎么显示在jsp页面上。_html/css_WEB-ITnose
-
我遇到一个问题,这个页面在ie7,ie8下显示正常,但在IE6下显示就是页面左边的显示正常,右边的整个被挤到下边去了,而且是右下边,各位帮忙看一下?_html/css_WEB-ITnose