html padding实现简单的弹窗(html element)组件
html padding实现简单的弹窗(html element)组件
话不多说,下面是html element组件的代码(需要引用node-sasssass-html paddinghtml onclick-html padding,主要是为了用html onclick样式)
<style="html colspan:rgb(98189288)">template>
<style="html colspan:rgb(98189288)">transitionstyle="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">name="style="html colspan:rgb(98189288)">dialog-fade">
<style="html colspan:rgb(288111119)">divclass="style="html colspan:rgb(25397106)">wrapper"v-if="style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">isShow">
<style="html colspan:rgb(288111119)">divclass="style="html colspan:rgb(288950)">html element">
<style="html colspan:rgb(288111119)">imgclass="style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">close-btn"src="../assets/style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">chacha.png"@click="style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">close"/>
<style="html colspan:rgb(288111119)">divclass="style="html colspan:rgb(73238288)">sign">提示</style="html colspan:rgb(288111119)">div>
<style="html colspan:rgb(288111119)">divclass="style="html colspan:rgb(73238288)">body">
<style="html colspan:rgb(288111119)">divclass="style="html colspan:rgb(73238288)">cell">
{{style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">message}}
</style="html colspan:rgb(288111119)">div>
</style="html colspan:rgb(288111119)">div>
<style="html colspan:rgb(288111119)">divclass="style="html colspan:rgb(2882110)">footer">
<style="html colspan:rgb(2882110)">button@click="style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">onNegativeClick"v-if="!style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">isOnlyPositive"class="style="html colspan:rgb(98189288)">negative-btn">{{style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">negativeText}}</style="html colspan:rgb(2882110)">button>
<style="html colspan:rgb(2882110)">button@click="style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">onPositiveClick"class="style="html colspan:rgb(98189288)">positive-btn">{{style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">positiveText}}</style="html colspan:rgb(2882110)">button>
</style="html colspan:rgb(288111119)">div>
</style="html colspan:rgb(288111119)">div>
</style="html colspan:rgb(288111119)">div>
</style="html colspan:rgb(98189288)">transition>
</style="html colspan:rgb(98189288)">template>
<style="html colspan:rgb(2882110)">script>
exportstyle="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">default{
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">name:'my-style="html colspan:rgb(288950)">html element',
style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">props:{
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">isShow:{
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">type:Boolean,
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">default:false
},
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">negativeText:{
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">type:String,
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">default:'取消'
},
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">positiveText:{
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">type:String,
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">default:'确定'
},
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">message:{
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">type:String,
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">default:'确定?'
},
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">isOnlyPositive:{
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">type:Boolean,
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">default:false
}
},
style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">data(){
return{
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">visible:style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">this.style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">isShow
};
},
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">methods:{
style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">close:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">function(){
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">this.$style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">emit('style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">closehtml element');
},
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">open:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">function(){
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">this.$style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">emit('style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">openhtml element');
},
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">onPositiveClick:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">function(){
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">this.$style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">emit('positiveCb');
},
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">onNegativeClick:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">function(){
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">this.$style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">emit('negativeCb');
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">this.style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">close();
}
}
};
</style="html colspan:rgb(2882110)">script>
<stylelang="style="html colspan:rgb(73238288)">html onclick"scoped>
.style="html colspan:rgb(25397106)">wrapper{
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">position:fixed;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">overflow:auto;
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">margin:0;
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">left:0;
style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">right:0;
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">bottom:0;
style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">top:0;
style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">z-index:999999999;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">background-style="html colspan:rgb(288950)">html colspan:style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">rgba(0,0,0,0.25);
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">font-family:"MicrosoftYahei";
}
style="html colspan:rgb(2882110)">button{
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">cursor:pointer;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">font-family:"MicrosoftYahei";
}
.style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">close-btn{
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">cursor:pointer;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">position:absolute;
style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">right:15px;
style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">top:12px;
}
.style="html colspan:rgb(288950)">html element{
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">height:180px;
style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">width:300px;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">position:absolute;
style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">left:50%;
style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">top:50%;
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">margin-style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">left:-150px;
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">margin-style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">top:-90px;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">background:#F1F6FF;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">box-sizing:style="html colspan:rgb(2882110)">border-box;
}
.style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">close{
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">cursor:pointer;
style="html colspan:rgb(288950)">html colspan:#c0ccda;
&:hover{
style="html colspan:rgb(288950)">html colspan:#20a0ff;
}
}
.style="html colspan:rgb(73238288)">sign{
style="html colspan:rgb(98189288)">text-align:style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">left;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">background-style="html colspan:rgb(288950)">html colspan:#579BFE;
style="html colspan:rgb(98189288)">font-size:14px;
style="html colspan:rgb(288950)">html colspan:#fff;
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">left:20px;
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">top:12px;
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">bottom:12px;
}
.style="html colspan:rgb(73238288)">body{
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">height:100px;
style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">width:100%;
style="html colspan:rgb(25397106)">display:table;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">box-sizing:style="html colspan:rgb(2882110)">border-box;
style="html colspan:rgb(288950)">html colspan:#475669;
style="html colspan:rgb(98189288)">font-size:14px;
.style="html colspan:rgb(73238288)">cell{
style="html colspan:rgb(25397106)">display:table-style="html colspan:rgb(73238288)">cell;
style="html colspan:rgb(98189288)">vertical-align:middle;
style="html colspan:rgb(98189288)">text-align:center;
style="html colspan:rgb(98189288)">font-size:16px;
style="html colspan:rgb(288950)">html colspan:#777777;
}
}
.style="html colspan:rgb(2882110)">footer{
style="html colspan:rgb(25397106)">padding:20px;
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(288111119)">top:0;
style="html colspan:rgb(98189288)">text-align:style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">right;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">box-sizing:style="html colspan:rgb(2882110)">border-box;
.style="html colspan:rgb(98189288)">negative-btn{
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">left:13px;
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">right:13px;
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">height:25px;
line-style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">height:25px;
style="html colspan:rgb(98189288)">font-size:12px;
style="html colspan:rgb(288950)">html colspan:#777777;
style="html colspan:rgb(2882110)">border:1pxsolid#777777;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">background-style="html colspan:rgb(288950)">html colspan:white;
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">margin-style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">right:8px;
}
.style="html colspan:rgb(98189288)">positive-btn{
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(73238288)">left:13px;
style="html colspan:rgb(25397106)">padding-style="style="html colspan:rgb(288950)">html colspan:rgb(288950)">right:13px;
style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">height:25px;
line-style="style="html colspan:rgb(288950)">html colspan:rgb(2882110)">height:25px;
style="html colspan:rgb(98189288)">font-size:12px;
style="html colspan:rgb(288950)">html colspan:#FD6434;
style="html colspan:rgb(2882110)">border:1pxsolid#FD6434;
style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">style="style="html colspan:rgb(288950)">html colspan:rgb(98189288)">background-style="html colspan:rgb(288950)">html colspan:white;
}
}
.style="html colspan:rgb(98189288)">dialog-fade-enter-active{
style="html colspan:rgb(98189288)">animation:style="html colspan:rgb(98189288)">dialog-fade-in.3s;
}
.style="html colspan:rgb(98189288)">dialog-fade-leave-active{
style="html colspan:rgb(98189288)">animation:style="html colspan:rgb(98189288)">dialog-fade-out.3s;
}
@keyframesstyle="html colspan:rgb(98189288)">dialog-fade-in{
0%{
style="html colspan:rgb(98189288)">transform:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">translate3d(0,-20px,0);
style="html colspan:rgb(25397106)">opacity:0;
}
100%{
style="html colspan:rgb(98189288)">transform:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">translate3d(0,0,0);
style="html colspan:rgb(25397106)">opacity:1;
}
}
@keyframesstyle="html colspan:rgb(98189288)">dialog-fade-out{
0%{
style="html colspan:rgb(98189288)">transform:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">translate3d(0,0,0);
style="html colspan:rgb(25397106)">opacity:1;
}
100%{
style="html colspan:rgb(98189288)">transform:style="style="html colspan:rgb(288950)">html colspan:rgb(25397106)">translate3d(0,-20px,0);
style="html colspan:rgb(25397106)">opacity:0;
}
}
</style>
使用方法如下
template模板:
<divstyle="cursor:pointer"@click="html elementVisible=true">打开一个弹窗!!!!</div>
js代码:
importhtml elementfrom'./html element'
exportdefault{
name:'hello',
components:{
'html element':html element
},
data(){
return{
msg:'WelcometoYourVue.jsApp',
html elementVisible:false,//控制弹窗的显示隐藏
}
},
methods:{
deleteInfoClose:function(){
this.html elementVisible=false;
console.log('取消按钮');
}, //取消按钮的回调
deleteFollowStudent:function(){
this.html elementVisible=false;
console.log('确定按钮')//确定按钮的回调
}
}
}