use*_*300 10 html css css3 css-shapes
我想在两个数字之间添加一个大斜线,以获得输出,如下图所示:

我试图用来/添加斜杠,但它做得不对(它显示在数字之后,而不是在数字之下).反正有没有让输出接近上面的图像?
<div class="box">
<span class="top">41</span>
<span class="line">/</span>
<span class="bottom">50</span>
</div>
.top {
font-size: 100px;
font-weight: bold;
}
.line {
font-size: 100px
}
Run Code Online (Sandbox Code Playgroud)
JSFiddle: http ://jsfiddle.net/jxk8fvus/
此方法使用以下内容:
transform: skew(-45deg)其border-left产生类似斜杠字符的线.span包含数字的绝对定位.分子span相对于左上方定位,而分母span相对于右下方定位.这种方法的一个潜在缺点是浏览器支持,如果你想支持IE8和更低.
.box {
position: relative;
height: 150px;
width: 150px;
}
.top, .bottom {
position: absolute;
font-weight: bold;
}
.top{
top: 0px;
left: 0px;
font-size: 100px;
}
.bottom {
bottom: 0px;
right: 0px;
font-size: 25px;
}
.box:after {
position: absolute;
content: '';
bottom: 0px;
right: 0px;
height: 60%;
width: 0%;
border-left: 1px solid;
transform: skew(-45deg);
transform-origin: top left;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<div class="box">
<span class="top">41</span>
<span class="bottom">50</span>
</div>Run Code Online (Sandbox Code Playgroud)
此方法使用以下内容:
display属性设置inline-block为数字和斜杠字符.vertical-align设置每个容器,使它们看起来像一个分数.如果您想支持旧版本的IE,这种方法很有用.缺点是斜线字符不允许对斜线的角度进行太多控制.
.top {
font-size: 50px;
vertical-align: top;
margin-top: 10px;
}
.bottom {
font-size: 25px;
vertical-align: bottom;
margin-bottom: 20px;
}
.line {
font-size: 100px;
vertical-align: middle;
}
.top, .bottom{
font-weight: bold;
}
.box * {
display: inline-block;
}Run Code Online (Sandbox Code Playgroud)
<div class="box">
<span class="top">41</span><!--
--><span class="line">/</span><!--
--><span class="bottom">50</span>
</div>Run Code Online (Sandbox Code Playgroud)
注:该<!-- -->第二片段是避免之间的额外空间inline-block的元素.
此方法使用以下内容:
linear-gradient设置background为父框容器的角度.display属性设置inline-block为数字以及适当的vertical-align设置.这种方法的优点是它不使用任何额外的真/伪元素.缺点是对渐变的浏览器支持相对较低.
.box {
height: 125px;
width: 125px;
font-size: 100px;
background: linear-gradient(to top left, transparent 49.5%, black 49.5%, black 50.5%, transparent 50.5%);
background-size: 75% 75%;
background-position: 100% 100%;
background-repeat: no-repeat;
}
.top {
font-size: 75px;
vertical-align: top;
margin-top: 10px;
}
.bottom {
font-size: 25px;
vertical-align: bottom;
margin-left: -10px;
}
.box * {
display: inline-block;
font-weight: bold;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<div class="box">
<span class="top">41</span>
<span class="bottom">50</span>
</div>Run Code Online (Sandbox Code Playgroud)
这样做:
.line {
width: 80px;
height: 80px;
border-bottom: 1px solid black;
-webkit-transform: translateY(50px) translateX(5px) rotate(135deg);
-ms-transform: translateY(50px) translateX(5px) rotate(135deg);
-o-transform: translateY(50px) translateX(5px) rotate(135deg);
transform: translateY(50px) translateX(5px) rotate(135deg);
position: absolute;
}
Run Code Online (Sandbox Code Playgroud)
玩数字.