10分钟实现Typora(markdown)编辑器 (4)

正如我们在第1章和第2章中讨论的,我们的应用程序总是跟上Chrome的最新版本,所以我们可以放心地使用Flexbox布局模式,而不用担心跨浏览器兼容性。

 

使用Flexbox创建页面布局:./app/style.css

/*选择一个更新的CSS框模型,它将正确地设置元素的宽度和高度*/
html {
   box-sizing: border-box;
}  

/* 将此设置传递给页面上的所有其他元素和伪元素*/
*, *:before, *:after {
   box-sizing: inherit;
}

html, body {
   height: 100%;
   width: 100%;
   overflow: hidden;
}

body {
   margin: 0;
   padding: 0;
   position: absolute;
}

/* 在整个应用程序中使用操作系统的默认字体 */
body, input {
   font: menu;
}

/*移除浏览器围绕活动输入字段的默认突出显示*/
textarea, input, div, button {
   outline: none;
   margin: 0;
}

.controls {
   background-color: rgb(217, 241, 238);
   padding: 10px 10px 10px 10px;
}
 
button {
   font-size: 14px;
   background-color: rgb(181, 220, 216);
   border: none;
   padding: 0.5em 1em;
 
}
 
button:hover {
   background-color: rgb(156, 198, 192);
}
 
button:active {
   background-color: rgb(144, 182, 177);
}

button:disabled {
   background-color: rgb(196, 204, 202);
}

.container {
   display: flex;
   flex-direction: column;
   min-height: 100vh;
   min-width: 100vw;
   position: relative;  
}
 
/* 使用Flexbox对齐应用程序的两个窗格*/
.content {
   height: 100vh;
   display: flex;
}
 
/* 使用Flexbox将两个窗格设置为相同的宽度 */
.raw-markdown, .rendered-html {
   min-height: 100%;
   max-width: 50%;
   flex-grow: 1;
   padding: 1em;
    overflow: scroll;
     font-size: 16px;
}

.raw-markdown {
   border: 5px solid rgb(238, 252, 250);;
   background-color: rgb(238, 252, 250);
   font-family: monospace;
}

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxfdj.html