让Div实现水平或垂直居中的相关方法

   先来看一个最普通的实现示例:

  创建一个新的html页面,

  XML/HTML Code复制内容到剪贴板

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>无标题文档</title>
  6. </head>
  7. <body>
  8. </body>
  9. </html>

  在中间,插入CSS代码

  CSS Code复制内容到剪贴板

  #warp {

  position: absolute;

  width:500px;

  height:200px;

  left:50%;

  top:370px;

  margin-left:-250px;

  margin-top:-100px;

  }

  在HTML代码里调用这个CSS

  CSS Code复制内容到剪贴板

  

 

  共计

  71

  条数据符合条件

  

 

  显示如下:


  相关问题

  这里让一个层居中是一个非常常见的布局方式,但在html中水平居中使用margin:0px auto;可以实现,但垂直居中使用外边距是无法达到效果的。(页面设置height:100%;是无效的),这里使用绝对定位+负外边距的方式来实现垂直居中,但同时要考虑页面重置大小的情况,需要使用js来修正。

  1、让层水平居中

  CSS Code复制内容到剪贴板

  .className{

  width:270px;

  height:150px;

  margin:0 auto;

  }

  使用margin:0 auto;让层水平居中,留意宽度和高度必不可少。

  2、让层垂直居中

  CSS Code复制内容到剪贴板

  .className{

  width:270px;

  height:150px;

  position:absolute;

  left:50%;

  top:50%;

  margin:-75px 0 0 -135px;

  }

  将层设置为绝对定位,left和top为50%,这时候使用负外边距,负外边距的大小为宽高的一半。

  3、在重置窗体的时候层依旧保持居中

  JavaScript Code复制内容到剪贴板

  $(document).ready(function(){

  $(window).resize(function(){

  $('.className').css({

  position:'absolute',

  left: ($(window).width()

  - $('.className').outerWidth())/2,

  top: ($(window).height()

  - $('.className').outerHeight())/2

  });

  });

  $(window).resize();

  });

  这里用到的jquery的方法。

  resize()事件:当在窗体重置大小时触发。

  outerWidth():获取第一个匹配元素外部宽度(默认包括补白和边框)。

时间: 2024-09-16 16:37:24

让Div实现水平或垂直居中的相关方法的相关文章

DIV元素水平和垂直居中

在前端开发过程中,经常要对元素进行居中设置.一般有水平居中,和垂直居中.一般设置水平居中简单.基本是margin:0 auto,就可以了.但是垂直居中,我们有时会觉得使用vertical-align,但是这个属性对div元素不起作用. 目前通用的解决办法是,使用绝对定位,然后设置left和top为50%.然后通过margin来设置.下面具体代码演示了一个简单的登录页面,然后使登录界面水平居中和垂直居中.代码如下: <html> <head> <title>div元素水平

转载未知大小的图片在一个已知大小容器中的水平和垂直居中(二)_经验交流

这是一个未知大小的图片在一个已知大小容器中的水平和垂直居中的例子,原文标题:"Centering an image of unknown size in an outer container of known size", 作者:Stu Nicholls form:http://www.cssplay.co.uk/menu/centered.html ,发表日期:15th October 2006. 此文由forestgan于2006-10-17翻译发表,更多文章. 这个水平和垂直居中

如何让高度、宽度不定的容器保持水平、垂直居中

这个题目似乎解决的办法很多,JS是最能够确保各种浏览器中一致性的,但是仍然可以使用CSS的方式来解决.这个问题分解为两个方面,第一解决左右居中的问题,第二解决上下居中的问题.   1.左右居中.   左右居中最为简单,使用 text-align:center; 就可以让绝大多数的对象居中对齐,并且这个属性也获得了几乎全部浏览器的支持.实际上,这个属性定义的是块级对象内部文字的对齐方式,内部的文字或者图像一般是内联对象.   也许有人会提到,为什么不用 margin:0 auto;这个办法呢?这是

如何使文本在DIV+CSS布局中垂直居中

css DIV+CSS布局中垂直居中的实现. <html><head><style>body{TEXT-ALIGN: center;}#center{ MARGIN-RIGHT: auto;MARGIN-LEFT: auto;height:200px;background:#F00;width:400px;vertical-align:middle;line-height:200px;}</style></head><body><

jQuery创建水平和垂直居中的div窗口

通过css教程实现水平居中: .classname{  margin:0 auto;  width:200px;  height:200px; } 2.通过css实现水平居中和垂直居中 通过css创建一个水平居中和垂直居中的div是一件比较麻烦的事情,您必须事先知道另外一个div的尺寸: .classname{  width:300px;  height:200px;  position:absolute;  left:50%;  top:50%;  margin:-100px 0 0 -150

基于jQuery实现的水平和垂直居中的div窗口_jquery

1.通过css实现水平居中: 复制代码 代码如下: .className{ margin:0 auto; width:200px; height:200px; } 2.通过css实现水平居中和垂直居中 通过css创建一个水平居中和垂直居中的div是一件比较麻烦的事情,您必须事先知道另外一个div的尺寸: 复制代码 代码如下: .className{ width:300px; height:200px; position:absolute; left:50%; top:50%; margin:-1

jquery实现DIV水平和垂直居中代码

经常有朋友问到有关DIV水平居中和垂直居中的问题,今天就把之前写过的一个jquery实现方法分享出来: 记住,jquery.js不要引用2.0.0版本以上的,要引用1.10.1左右版本的,不然IE9以下不兼容: 兼容各种浏览器: jquery方法  代码如下 复制代码 //页面加载完就执行这个方法 $(function(){  $(".mydiv").css({         position: "absolute",         left: ($(windo

【div+css】两个div,如何让内层的div在外层div中水平垂直居中

好久没有写样式,很是很生疏   ==================================================================== 方法1: .parent { width:800px; height:500px; border:2px solid #000; position:relative; } .child { width:200px; height:200px; margin: auto; position: absolute; top: 0; l

DIV+CSS 全屏垂直居中的一个办法

全屏垂直居中的一个办法 DIV+CSS , 这个方面有一点不好, 就是不能自动适应,必须把高和宽写死! 例如下边的例子! 先定了一个点在中间,然后再把里边的这一块居中处理; <style> #info{height:0px; width:0px;top:50%; left:50%;position:absolute;} #center{background:#FFCC33;border:1px solid #0033FF; width:300px;height:300px;position:a