字体真棒图标对齐
Font-awesome icon alignment
我正在为复选框使用 Font-awesome 图标,但在对齐正方形中的图标时遇到问题。它看起来有点难看,而且我尝试了多少填充和对齐,但由于边缘不同,它不能很好地调整(字体很棒的图标有圆边,不适合我的正方形)。有人知道如何将它完美地放入我的广场吗?
有没有办法改变图标的圆边(实际上不必改变字体很棒的源代码?)谢谢。
HTML:
<input type="checkbox" name="checkbox" id="checkbox"class="checkboxClass"/>
<label for="checkbox" class="labelForCheckboxClass"></label>
CSS:
.checkboxClass {
opacity: 0;
}
.labelForCheckboxClass {
position: relative;
font-size: 16px;
cursor: pointer;
padding-left: 20.5px;
padding-top: 0;
padding-bottom: 0;
border: 1px solid gray;
background-color: white;
}
.labelForCheckboxClass:after {
content: '\f14a';
max-width: 0;
overflow: hidden;
opacity: 0.5;
line-height: 20px;
border-radius: 0;
}
.labelForCheckboxClass:before, .labelForCheckboxClass:after {
font-family: FontAwesome;
font-size: 25px;
position: absolute;
top: 0;
left: 0;
}
.checkboxClass:checked ~ label:after {
max-width: 25px;
opacity: 1;
}
好吧,将 right: 0
和 bottom: 0
添加到 .labelForCheckboxClass:before, .labelForCheckboxClass:after
也会在一定程度上有所帮助。
这是您更新后的 fiddle:http://jsfiddle.net/4zjtp/134/
编辑:
对于方角试试这个:
.checkboxClass {
opacity: 0;
}
.labelForCheckboxClass {
position: relative;
font-size: 16px;
cursor: pointer;
padding-left: 17px;
padding-top: 0;
padding-bottom: 0;
border: 1px solid gray;
background-color: white;
}
.labelForCheckboxClass:after {
content: '\f00c';
color:white;
background-color: black;
max-width: 0;
}
.labelForCheckboxClass:before, .labelForCheckboxClass:after {
font-family: FontAwesome;
font-size: 17px;
position: absolute;
top: 0;
left: 0;
height:1.05em;
}
.checkboxClass:checked ~ label:after {
max-width: 17px;
opacity: 1;
}
试试这个:
.labelForCheckboxClass {
position: relative;
font-size: 18px;
cursor: pointer;
padding-left: 21.5px;
padding-top: 0;
padding-bottom: 0;
border: 1px solid gray;
background-color: white;
border-radius: 4px;
}
问题是您试图用具有圆形边框的图形填充方框 space。您无法使用 css 修改复选标记的边框,因为它是字体的形状...您无法使用 css.[=13= 访问 属性 ]
一种变通方法是使用带边框半径的正方形,您可能会在此处看到:
http://jsfiddle.net/leojavier/0h7gfdq6/1/
.labelForCheckboxClass {
position: relative;
font-size: 16px;
cursor: pointer;
padding-left: 21.5px;
padding-bottom: 2px;
border: 1px solid gray;
background-color: #FFF;
border-radius:4px;
}
另一方面,如果您想保留方框的尖锐方形边缘,您可能需要使用勾号图标 (白色),而不使用 font-awesome 的背景然后只需将标签的背景颜色切换为 (黑色) 点击 javascript.
这是一个没有去除锐边的版本:
我正在为复选框使用 Font-awesome 图标,但在对齐正方形中的图标时遇到问题。它看起来有点难看,而且我尝试了多少填充和对齐,但由于边缘不同,它不能很好地调整(字体很棒的图标有圆边,不适合我的正方形)。有人知道如何将它完美地放入我的广场吗?
有没有办法改变图标的圆边(实际上不必改变字体很棒的源代码?)谢谢。
HTML:
<input type="checkbox" name="checkbox" id="checkbox"class="checkboxClass"/>
<label for="checkbox" class="labelForCheckboxClass"></label>
CSS:
.checkboxClass {
opacity: 0;
}
.labelForCheckboxClass {
position: relative;
font-size: 16px;
cursor: pointer;
padding-left: 20.5px;
padding-top: 0;
padding-bottom: 0;
border: 1px solid gray;
background-color: white;
}
.labelForCheckboxClass:after {
content: '\f14a';
max-width: 0;
overflow: hidden;
opacity: 0.5;
line-height: 20px;
border-radius: 0;
}
.labelForCheckboxClass:before, .labelForCheckboxClass:after {
font-family: FontAwesome;
font-size: 25px;
position: absolute;
top: 0;
left: 0;
}
.checkboxClass:checked ~ label:after {
max-width: 25px;
opacity: 1;
}
好吧,将 right: 0
和 bottom: 0
添加到 .labelForCheckboxClass:before, .labelForCheckboxClass:after
也会在一定程度上有所帮助。
这是您更新后的 fiddle:http://jsfiddle.net/4zjtp/134/
编辑:
对于方角试试这个:
.checkboxClass {
opacity: 0;
}
.labelForCheckboxClass {
position: relative;
font-size: 16px;
cursor: pointer;
padding-left: 17px;
padding-top: 0;
padding-bottom: 0;
border: 1px solid gray;
background-color: white;
}
.labelForCheckboxClass:after {
content: '\f00c';
color:white;
background-color: black;
max-width: 0;
}
.labelForCheckboxClass:before, .labelForCheckboxClass:after {
font-family: FontAwesome;
font-size: 17px;
position: absolute;
top: 0;
left: 0;
height:1.05em;
}
.checkboxClass:checked ~ label:after {
max-width: 17px;
opacity: 1;
}
试试这个:
.labelForCheckboxClass {
position: relative;
font-size: 18px;
cursor: pointer;
padding-left: 21.5px;
padding-top: 0;
padding-bottom: 0;
border: 1px solid gray;
background-color: white;
border-radius: 4px;
}
问题是您试图用具有圆形边框的图形填充方框 space。您无法使用 css 修改复选标记的边框,因为它是字体的形状...您无法使用 css.[=13= 访问 属性 ]
一种变通方法是使用带边框半径的正方形,您可能会在此处看到: http://jsfiddle.net/leojavier/0h7gfdq6/1/
.labelForCheckboxClass {
position: relative;
font-size: 16px;
cursor: pointer;
padding-left: 21.5px;
padding-bottom: 2px;
border: 1px solid gray;
background-color: #FFF;
border-radius:4px;
}
另一方面,如果您想保留方框的尖锐方形边缘,您可能需要使用勾号图标 (白色),而不使用 font-awesome 的背景然后只需将标签的背景颜色切换为 (黑色) 点击 javascript.