CSS模拟Win11记事本界面改进版
本帖最后由 马黑黑 于 2022-1-11 16:14 编辑 <br /><br /><style type="text/css">.父框 {
margin: 30px auto;
width: 600px;
height: 380px;
background: #fff;
border:1px solid #000;
border-radius: 10px;
font-family: 'Microsoft Yahei';
box-shadow: 1px 1px 2px #aaa;
resize: both;
overflow: hidden;
display: flex;
flex-direction: column;
}
.标题栏 {
margin: -1px;
height: 30px;
line-height: 30px;
padding: 0 16px 0 30px;
color: #eee;
font-size: 14px;
background: #46474b url('https://www.huachaowang.com/data/attachment/forum/202201/11/161225k0o04yfkyzqn2qcz.png') 8px 4px no-repeat;
border-radius: 10px 10px 0 0 ;
}
.菜单栏 {
height: 25px;
line-height: 25px;
font-size: 0.8em;
background: #fff;
border-bottom: 2px solid #ddd;
}
.编辑框 {
flex-grow: 2;
display: flex;
flex-direction: row;
}
.输入栏 {
height: 20px;
width: 70px;
line-height: 20px;
font-size: 14px;
padding: 0 0 0 2px;
border-right: 1px solid #000;
display: inline-block;
animation: 光标闪烁 1s infinite;
}
.纵滚动条 {
width: 4px;
font-size: 10px;
background: #eee url('https://www.huachaowang.com/data/attachment/forum/202201/11/161225ykus2e2zlizszusg.png') 4px 100% no-repeat;
color: #999;
padding: 0 14px 0 4px;
}
.横滚动条 {
height: 22px;
font-size: 12px;
background: #eee;
color: #999;
padding: 0 26px 0 4px;
}
.右浮动 { float: right; }
.拉伸 { flex-grow:2; }
@keyframes 光标闪烁 { to { border-right: 1px #fff; } }
</style>
<div class="父框">
<div class="标题栏">*无标题 - 记事本<span class="右浮动">━ 口 ×</span></div>
<div class="菜单栏"> 文件(F) 编辑(E) 格式(O) 视图(V)帮助(H)</div>
<div class="编辑框">
<div class="输入栏">Hello CSS!</div>
<div class="拉伸"></div>
<div class="纵滚动条">▲</div>
</div>
<div class="横滚动条">◀<span class="右浮动">▶</span></div>
</div>
本帖最后由 马黑黑 于 2022-1-11 16:17 编辑
用到两张图——
纵向滚动条:
记事本logo :
全部代码:
<style type="text/css">
.父框 {
margin: 30px auto;
width: 600px;
height: 380px;
background: #fff;
border:1px solid #000;
border-radius: 10px;
font-family: 'Microsoft Yahei';
box-shadow: 1px 1px 2px #aaa;
resize: both;
overflow: hidden;
display: flex;
flex-direction: column;
}
.标题栏 {
margin: -1px;
height: 30px;
line-height: 30px;
padding: 0 16px 0 30px;
color: #eee;
font-size: 14px;
background: #46474b url('https://www.huachaowang.com/data/attachment/forum/202201/11/161225k0o04yfkyzqn2qcz.png') 8px 4px no-repeat;
border-radius: 10px 10px 0 0 ;
}
.菜单栏 {
height: 25px;
line-height: 25px;
font-size: 0.8em;
background: #fff;
border-bottom: 2px solid #ddd;
}
.编辑框 {
flex-grow: 2;
display: flex;
flex-direction: row;
}
.输入栏 {
height: 20px;
width: 70px;
line-height: 20px;
font-size: 14px;
padding: 0 0 0 2px;
border-right: 1px solid #000;
display: inline-block;
animation: 光标闪烁 1s infinite;
}
.纵滚动条 {
width: 4px;
font-size: 10px;
background: #eee url('https://www.huachaowang.com/data/attachment/forum/202201/11/161225ykus2e2zlizszusg.png') 4px 100% no-repeat;
color: #999;
padding: 0 14px 0 4px;
}
.横滚动条 {
height: 22px;
font-size: 12px;
background: #eee;
color: #999;
padding: 0 26px 0 4px;
}
.右浮动 { float: right; }
.拉伸 { flex-grow:2; }
@keyframes 光标闪烁 { to { border-right: 1px #fff; } }
</style>
<div class="父框">
<div class="标题栏">*无标题 - 记事本<span class="右浮动">━ 口 ×</span></div>
<div class="菜单栏">文件(F) 编辑(E) 格式(O) 视图(V)帮助(H)</div>
<div class="编辑框">
<div class="输入栏">Hello CSS!</div>
<div class="拉伸"></div>
<div class="纵滚动条">▲</div>
</div>
<div class="横滚动条">◀<span class="右浮动">▶</span></div>
</div>
比较了一下,是改进了那个闪动的光标么? 红影 发表于 2022-1-11 16:14
比较了一下,是改进了那个闪动的光标么?
还在编辑中呢。现在差不多了。
你再仔细瞅瞅,好像区别不止这些 这个模拟,觉得难度在纵向滚动条的下三角方向键,简洁的处理方法是给它(一个div)加一个定位底图。
闪烁输入光标借用 div 右边框(border-right)变色动画完成(第一个版本用的是字符 | 的变色)。 ☞<button onclick="javascript:alert('Hello JavaScript!');">点我瞧瞧</button>
页:
[1]