谢谢各位答主的答案,参考了下,然后去学习了下css3属性box-shadow和border-image,自己写的一个demo
登录页demo
div铺满整个屏幕,再给div添加背景图片以达到效果
.bg-div{
background: url('/img/bg2.jpg') center;
}
<img class="user-avater" src="/img/user-4.png"/>
添加css样式,border-radius: 50%;
一个div,顺时针旋转45度,三角的两边是div的上、左边框,after伪元素特性置于div的下方,不会遮挡住主体的div
.box::after {
content: '';
display: block;
width: 40px;
height: 40px;
position: absolute;
top: -20px;
left: 50%;
margin-left: -21px;
border-top-left-radius: 4px;
border-left: 2px solid rgba(255,255,255, 0.3);
border-top: 2px solid rgba(255,255,255, 0.3);
transform: rotate(45deg); /*旋转45度*/*
box-shadow: inset 1px 0 0 rgba(255,255,255,0.2), inset 0 1px 0 rgba(255,255,255,0.2);
}
伪元素before是一个400px*2px容器,分开的两边边框通过设置容器的box-shadow,左右内阴影
.box::before {
content: '';
display: block;
width: 400px;
height: 2px;
position: absolute;
border-top-left-radius: 4px;
box-shadow: inset 171px 0 0 0 rgba(255,255,255, 0.2), inset -171px 0 0 0 rgba(255,255,255, 0.2); /*通过内阴影实现边框效果*/
}
.box{
border: 2px solid rgba(255,255,255, 0.2); /*增加半透明边框*/
border-top: 0; /*去掉上边框*/
}
背景透明,边框半透明,添加内外渐变阴影
.form-input{
background: transparent; /*背景透明*/
border: 2px solid rgba(255,255,255,0.3); /*边框半透明*/
box-shadow: inset 0 0 4px rgba(255,255,255,0.2),0 0 4px rgba(255,255,255,0.2); /*内外渐变阴影*/
}
ie8以下建议用背景图片,9以上box-shadow用rgba设置边框颜色及透明度 input框背景rgba设置背景颜色及透明度 ie-css3.htc 也可以让ie低版本支持box-shadow、radius等属性 ps 整个登录框其实都有背景色的 只是很浅 但是有
5 回答1.4k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
4 回答2.1k 阅读
2 回答2.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
试了一把
demo