dialog标签实现原生左侧弹出层效果代码

代码语言:html

所属分类:弹出层

代码描述:dialog标签实现原生左侧弹出层效果代码

代码标签: dialog 标签 原生 左侧 弹出层

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  
  
<style>
@import "//repo.bfw.wiki/bfwrepo/css/open-props.css" layer(support.design-system);
@import "//repo.bfw.wiki/bfwrepo/css/open-props.normalize.min.css" layer(support.demo);
@import "//repo.bfw.wiki/bfwrepo/css/open-props.buttons.css" layer(support.demo);
@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" layer(support.demo);

dialog.slide-out {
  --_duration: .5s;
	--_card-inset: var(--size-5);
	
	/* inner card can query the dialog for h/w */
	container: dialog-panel / size;
  
  transition: 
    display var(--_duration) allow-discrete, 
    overlay var(--_duration) allow-discrete;
	
	padding: 0;
	background: none;
	box-shadow: none;
	
	block-size: 100dvh;
	max-block-size: 100%;
	inline-size: min(var(--size-content-2), 80vw);

	margin: 0;
	margin-inline-end: auto;
	overflow-y: hidden;
  
  &::backdrop {
    transition: opacity var(--_duration) var(--ease-4);
		opacity: 0;
		background-color: light-dark(#0003, #0008);
  }
  
  > section {
		@media (prefers-reduced-motion: reduce) {
			transition: opacity var(--_duration) var(--ease-2);
			opacity: 0;
		}
		
		@media (prefers-reduced-motion: no-preference) {
			transition: translate var(--_duration) var(--ease-in-out-5);
			translate: calc((100% + var(--_card-inset)) * -1) 0;
		}
		
		b.........完整代码请登录后点击上方下载按钮下载查看

网友评论0