我有下面的CSS代码,该代码给出了 + 符号,但与设计基本不匹配,因此需要变薄。请参见摘要和codpen
.plus {
position:relative;
border: 1px dotted white;
width: 3px;
height: 3px;
background-color: black;
box-sizing: border-box;
transform: scale(11);
}
<div class="plus"></div>
任何其他样式对我来说也都很好,但应该看起来像快照。
答案 0 :(得分:2)
使用如下的多色背景:
.plus {
width:50px;
height:50px;
background:
linear-gradient(#fff,#fff),
linear-gradient(#fff,#fff),
#000;
background-position:center;
background-size: 50% 2px,2px 50%; /*thickness = 2px, length = 50% (25px)*/
background-repeat:no-repeat;
}
.plus-alt {
width:50px;
height:50px;
background:
linear-gradient(#000,#000),
linear-gradient(#000,#000);
background-position:center;
background-size: 50% 2px,2px 50%; /*thickness = 2px, length = 50% (25px)*/
background-repeat:no-repeat;
}
<div class="plus">
</div>
<div class="plus-alt">
</div>
这是透明的:
.plus {
width:50px;
height:50px;
background:
linear-gradient(#000,#000) top left,
linear-gradient(#000,#000) top right,
linear-gradient(#000,#000) bottom left,
linear-gradient(#000,#000) bottom right;
background-size: calc(50% - 1px) calc(50% - 1px); /*thickness = 2px (2*1px) */
background-repeat:no-repeat;
border:10px solid #000; /*length = 30px (50px - 2x10px) */
box-sizing:border-box;
}
body {
background:pink;
}
<div class="plus">
</div>
答案 1 :(得分:1)
您可以通过使用CSS的content
属性来完成此操作:
.plus {
height: 24px;
width: 24px;
display: inline-block;
background-color: black;
color: white;
font-size: 24px;
line-height: 24px;
text-align: center;
}
.plus::before {
content: "+";
}
这是显示以上代码的Fiddle。
答案 2 :(得分:0)
我建议在伪元素之前和之后使用伪元素。
基本上,我仅将div用作黑色背景,将before元素用作垂直线,并将after元素用作水平线。
.plus {
position: relative;
width:20px;
height:20px;
background:#000;
}
.plus:before,
.plus:after {
content: "";
position:absolute;
background:#fff;
}
/* the vertical line */
.plus:before {
left:50%;
top:4px; /* this defines how much black "border" there should be */
bottom:4px;
width:2px;
transform:translateX(-50%);
}
/* the horizontal line */
.plus:after {
top:50%;
left:4px;
right:4px;
height:2px;
transform:translateY(-50%);
}
这是一个完整的示例:https://codepen.io/Fitzi/pen/zbMBVw
答案 3 :(得分:0)
我也建议您使用实际符号:
.plus {
display: block;
height: 0.6em;
width: 0.6em;
font-size: 100px;
text-align: center;
line-height: 0.5em;
margin: 0;
padding: 0;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: lighter;
color: #ffffff;
background-color: #000000;
}
.plus::before {
display: block;
content: '+';
}
<div class="plus"></div>
提琴:https://jsfiddle.net/m5de0ycL/
然后只更改字体大小以适应大小,如果字体不够细,则可以将字体系列更改为较窄的字体。
编辑:@ Temani-Afif的解决方案更加多样化。根据您的兼容性需求,我建议他使用我的产品:Make plus symbol in CSS