Wie kann man draw das Häkchensymbol mit CSS verwenden? Die Symbole, die ich mit Unicode finde, sind nicht ästhetisch ansprechend.
EDIT Icon-Schriftarten sind ein guter Vorschlag. Ich suchte nach etwas wie diesem .
Sie können jetzt Webfonts hinzufügen und sogar die Dateigröße mit den gewünschten Glyphen verkleinern https://github.com/fontello/fontellohttp://fontello.com/
li:before {
content:'[add icon symbol here]';
font-family: [my cool web icon font here];
display:inline-block;
vertical-align: top;
line-height: 1em;
width: 1em;
height:1em;
margin-right: 0.3em;
text-align: center;
color: #999;
}
Sie können zwei Rechtecke zeichnen und nebeneinander platzieren. Und dann um 45 Grad drehen. Ändern Sie die Parameter width/height/top/left für jede Variation.
HTML
<span class="checkmark">
<div class="checkmark_stem"></div>
<div class="checkmark_kick"></div>
</span>
CSS
.checkmark {
display:inline-block;
width: 22px;
height:22px;
-ms-transform: rotate(45deg); /* IE 9 */
-webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
transform: rotate(45deg);
}
.checkmark_stem {
position: absolute;
width:3px;
height:9px;
background-color:#ccc;
left:11px;
top:6px;
}
.checkmark_kick {
position: absolute;
width:3px;
height:3px;
background-color:#ccc;
left:8px;
top:12px;
}
Hier ist eine weitere CSS-Lösung. es ist weniger Codezeile.
ul li:before
{content:'\2713';
display:inline-block;
color:red;
padding:0 6px 0 0;
}
ul li{list-style-type:none;font-size:1em;}
<ul>
<li>test1</li>
<li>test</li>
</ul>
Hier ist der Demo-Link http://jsbin.com/keliguqi/1/
Machen Sie einige Transformationen mit dem Buchstaben L
.checkmark {
font-family: arial;
-ms-transform: scaleX(-1) rotate(-35deg); /* IE 9 */
-webkit-transform: scaleX(-1) rotate(-35deg); /* Chrome, Safari, Opera */
transform: scaleX(-1) rotate(-35deg);
}
<div class="checkmark">L</div>
Eine zusätzliche Lösung, wenn Sie nur eines der: before /: after psuedo-Elemente zur Verfügung haben, wird hier beschrieben: : after-Checkbox mit Rahmen
Es verwendet im Grunde die Eigenschaften border-bottom
und border-right
zum Erstellen des Kontrollkästchens und dreht dann das gespiegelte L mit transform
.
Beispiel
li {
position: relative; /* necessary for positioning the :after */
}
li.done {
list-style: none; /* remove normal bullet for done items */
}
li.done:after {
content: "";
background-color: transparent;
/* position the checkbox */
position: absolute;
left: -16px;
top: 0px;
/* setting the checkbox */
/* short arm */
width: 5px;
border-bottom: 3px solid #4D7C2A;
/* long arm */
height: 11px;
border-right: 3px solid #4D7C2A;
/* rotate the mirrored L to make it a checkbox */
transform: rotate(45deg);
-o-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}
To do:
<ul>
<li class="done">Great stuff</li>
<li class="done">Easy stuff</li>
<li>Difficult stuff</li>
</ul>
li:before {
content: '';
height: 5px;
background-color: green;
position: relative;
display: block;
top: 50%;
left: 50%;
width: 9px;
margin-left: -15px;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
li:after {
content: '';
height: 5px;
background-color: green;
position: relative;
display: block;
top: 50%;
left: 50%;
width: 20px;
margin-left: -11px;
margin-top: -6px;
-ms-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
Ich schlage vor, ein Häkchensymbol zu verwenden, es nicht zu zeichnen. Oder verwenden Sie kostenlose Webfonts, zum Beispiel: fontello [dot] com Sie können dann das Häkchen-Symbol durch eine Glyphe für Web-Fonts ersetzen.
Listen
ul {padding: 0;}
li {list-style: none}
li:before {
display:inline-block;
vertical-align: top;
line-height: 1em;
width: 1em;
height:1em;
margin-right: 0.3em;
text-align: center;
content: '✔';
color: #999;
}
Siehe hier: http://jsfiddle.net/hpmW7/3/
Checkboxen
Sie haben sogar Webfonts mit Häkchenzeichen und CSS 3-Animationen. Für IE8 müssten Sie eine Polyfill anwenden, da dies nicht verstanden wird: checked.
input[type="checkbox"] {
clip: rect(1px, 1px, 1px, 1px);
left: -9999px;
position: absolute !important;
}
label:before,
input[type="checkbox"]:checked + label:before {
content:'';
display:inline-block;
vertical-align: top;
line-height: 1em;
border: 1px solid #999;
border-radius: 0.3em;
width: 1em;
height:1em;
margin-right: 0.3em;
text-align: center;
}
input[type="checkbox"]:checked + label:before {
content: '✔';
color: green;
}
Siehe die JS-Geige: http://jsfiddle.net/VzvFE/37
Versuchen Sie dieses // HTML-Beispiel
<span>✓</span>
// CSS Beispiel
span {
content: "\2713";
}
Möglicherweise möchten Sie fontawesome.io ausprobieren.
Es hat eine große Sammlung von Icons. Für Sie sollte <i class="fa fa-check" aria-hidden="true"></i>
funktionieren. Es gibt auch viele Kontrollsymbole. Ich hoffe es hilft.
ich mag diesen Weg, weil Sie nicht nur zwei Komponenten erstellen müssen.
.checkmark:after {
opacity: 1;
height: 4em;
width: 2em;
-webkit-transform-Origin: left top;
transform-Origin: left top;
border-right: 2px solid #5cb85c;
border-top: 2px solid #5cb85c;
content: '';
left: 2em;
top: 4em;
position: absolute;
}