css实现简单弹框

html-css016

css实现简单弹框,第1张

写一个简单的弹框

html:

<button onclick=""bombClick()" >点击弹框</button>

<div id="bombContain"></div>

<div id="bomb_div"></div>

css:

#bombContain{

z-index: 199412204822//z-index只有在定位元素上生效,默认值static是没有定位的

background-color:#000

opacity:0.6

top:0

left:0

width:100%

height:100%

position:fixed

display:none

}

#bomb_div{

z-index:199412204822

width:34%

height:450px

top:66px

left:36%

margin:0

padding:0

background-color:#fff

box-shadow:1px 1px 50px rgba(0,0,0,.3)

position:fixed

display:none

}

js:

function bombClick(){

$("#bombContain").css("display","block")

$("#bomb_div").css("display","block")

}

思路应该是一个从0%到100%的动画展开的效果,大概需要写0%,50%,100%三个样式。 弹窗的css代码大概是:position: fixedz-index: 2000left: 0top: 0这样弹窗的左上角原点在页面最左上角,如果要调整位置要用CSS变换特效(transform)的平移translate函数达到目的: translate(x, y)(长度值或者百分比):在水平方向、垂直方向平移元素。    translateX(value):水平方向平移。    translateY(value):垂直方向平移。    scale(x, y)、scaleX(value)、scaleY(value):在水平方向、垂直方向或者两个方向上缩放元素。    rotate()、rotateX()、rotateY()、rotateZ():rotate支持3D效果,可在x、y、z轴上旋转元素。    skew()、skewX()、skewY():在水平方向、垂直方向或者两个方向倾斜一定的角度。  另外弹窗展开的动画要用到css3的动画属性:    animation-delay:设置动画开始前的延迟时间。    animation-direction:设置动画循环播放的时候是否方向播放,包含normal和alternate两个值。    animation-duration:设置动画播放持续的时间。    animation-interacion-count:设置动画的播放次数,可以为具体数据或者无限循环关键字infinite。    animation-name:指定动画名称。    animation-play-state:允许动画暂停和重新播放,包含running、paused。    animation-timing-function:指定如何计算中间动画值,

css 很难实现这个应为css都是设定好后不能被改变的 ,只能通过js重新赋值 ,这种方式就是js里面的多层 jquery ui 里面也有这个插件 自己写个也可以 就是当鼠标移动到指定标签上 触发js效果

把原先的div display:none 该变让他显示或者直接写入个div 位置就是当前鼠标的位置 也可以 这个比较好用 。