DIV悬浮CSS如何居中?javascript(JQ)

html-css017

DIV悬浮CSS如何居中?javascript(JQ),第1张

给1设置一个宽度和高的假如是500*400;给1设置绝对定位 然后设置left和top都为50%;再设置margin-left:-250pxmargin-top:-200px就可以居中了,然后设置z-index层级为99.让2变黑的话就添加一个mask层,设置一个div的标签名为mask。设置position为fixed;并设置他的left,top,right,bottom值都为0.然后设置background-color:#000opacity:0.2z-index:98;用js设置弹出1的时候显示mask就可以了

position 的四个属性:static、absolute、relative、fixed

static:默认值

absolute:脱离文档结构,导致父元素坍塌;相对于最近的非static元素进行定位;使得inline元素被“块”化;使得元素已有的float失效。多个悬浮元素,后来者在上方;

relative:根据原来位置,导致自身位置的相对变化,而不会影响其他元素的位置、大小的变化。

产生新的定位上下文,影响子元素(如absolute属性元素定位)

fixed:根据浏览器确定位置

参考文章:https://www.cnblogs.com/wangfupeng1988/p/4322680.html

css原理:

vertical-align :指定行内元素(inline)和行内块级元素(inline-block)或表格单元格(table-cell)元素的垂直对齐方式。

文本垂直居中:

单行文本:设置line-height 和区域高度height 一致即可

多行文本垂直居中:

1、父级元素高度不固定,随内容变化:内填充padding-top = padding-bottom

2、父级元素高度固定:

父元素div:display:table

子元素div:display:table-cell;vertical-align:middle

子div垂直居中:

1、子div具体大小设置偏移

2、利用transform:translateX(-50%)translateY(-50%)

3、利用绝对布局absolute

4、利用vertical-align属性实现子div大小不固定垂直居中

5、利用display:flex:

justify-content: center/*实现水平居中*/

align-items:center/*实现垂直居中*/

参考链接:https://blog.csdn.net/u014607184/article/details/51820508

CSS有float:left和float:right,但能否实现float:center呢?水平居中浮动,当然是可以的,这里将介绍你实现方法。以下面的Li列表为例,我们要实现中间LI的居中浮动:

1    <div id="macji"> 

2    <ul class="macji-skin"> 

3    <li>列表一</li> 

4    <li>列表二</li> 

5    <li>列表三</li> 

6    </ul> 

7    </div> 

我们需要先了解下position:relative属性,它是指left、right、top、bottom等中的偏移位置。我们可以让ul为position:relativeleft:50%,再让li向左浮动,再让position:relativeright:50%(或者left:-50%),那么li就会向中间浮动一样居中了。不相信的可把下面的CSS定义结合上边的代码拷贝到HTML测试。

view source

01    #macji{  

02    position:relative 

03    width:100% 

04    height:80px 

05    background-color:#eee 

06    text-align:center 

07    overflow:hidden 

08    }  

09    #macji .macji-skin{  

10    float:left 

11    position:relative 

12    left:50% 

13    }  

14    #macji .macji-skin li{  

15    position:relative 

16    right:50% 

17    float:left 

18    margin:10px 

19    padding:0 10px 

20    border:solid 1px #000 

21    line-height:60px 

22    }  

虽然这样用有些麻烦,但对于一个优秀的前端设计师,这个技巧还是有必要掌握的哦。