我无法在span元素下直接放置标签。如果这是我需要标签的输入,我会为input元素指定一个name属性,并为标签指定一个for =“name”属性。但是,我无法为跨度指定名称属性。
我必须使用跨度,因为我想使用必须放在跨度内的这些IcoMoon图标。
目前,我在标尺的左侧或右侧卡住了标签。我似乎无法让它在span元素下居中。
这是我的代码:
@font-face {
font-family:icomoon;
src:url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.eot?-m9wrda);
src:url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.eot?#iefix-m9wrda) format("embedded-opentype"),
url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.ttf?-m9wrda) format("truetype"),
url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.woff?-m9wrda) format("woff"),
url(fonts/2ad343be.icomoon.svg#icomoon) format("svg"),url(fonts/69e79c77.icomoon.woff) format("woff"),
url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.svg?-m9wrda#icomoon) format("svg");
}
.icon-bubbles{
font-family: 'icomoon';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size:36px;
color:#f00;
border: 1px solid white;
}
.icon-bubbles:before {
content: "\e613";
}
#back {
width: 400px;
height: 200px;
background: black;
color: white;
}
table {
border-collapse: collapse;
margin-left: 5%;
}
table, th, td {
border: 1px solid white;
height: 80px;
}
label {
border: 1px solid white;
}
<div id="back">
<br>
<table border>
<tr>
<td>
<span class="icon-bubbles"></span>
<label>Label Text</label>
</td>
<td>
<span class="icon-bubbles"></span>
<label>Label Text</label>
</td>
<td>
<span class="icon-bubbles"></span>
<label>Label Text</label>
</td>
</tr>
</table>
</div>
这是JSFiddle的链接: http://jsfiddle.net/8Lffy7sg/
答案 0 :(得分:3)
You shouldn't be using the table
element for layout for one thing,因为table
只应用于表格数据。因此,我重新构建了HTML,因此它正在使用div
。接下来,您只希望将span
元素设为display:block
,这将导致该元素的行为类似于div
,并导致后续元素发生换行。
此外,标签设计用于表单,标记 input
字段。如果您只想要一些与span
相关联的文字,请使用其他span
或p
代码。
@font-face {
font-family: icomoon;
src: url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.eot?-m9wrda);
src: url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.eot?#iefix-m9wrda) format("embedded-opentype"), url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.ttf?-m9wrda) format("truetype"), url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.woff?-m9wrda) format("woff"), url(fonts/2ad343be.icomoon.svg#icomoon) format("svg"), url(fonts/69e79c77.icomoon.woff) format("woff"), url(http://s3.amazonaws.com/icomoon.io/4/IcoMoonApp/icomoon.svg?-m9wrda#icomoon) format("svg");
}
.icon-bubbles {
font-family: 'icomoon';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 36px;
color: #f00;
border: 1px solid white;
}
.icon-wrapper {
float: left;
}
.icon-wrapper span {
display: block;
}
.icon-bubbles:before {
content: "\e613";
}
#back {
width: 400px;
height: 200px;
background: black;
color: white;
}
label {
border: 1px solid white;
}
&#13;
<div id="back">
<div class="icon-wrapper">
<span class="icon-bubbles"></span>
<label>Label Text</label>
</div>
<div class="icon-wrapper">
<span class="icon-bubbles"></span>
<label>Label Text</label>
</div>
<div class="icon-wrapper">
<span class="icon-bubbles"></span>
<label>Label Text</label>
</div>
</div>
&#13;
答案 1 :(得分:1)
我添加了以下CSS:
td {
text-align: center;
}
使每个td
元素以其中心显示其内容。
我还补充说:
.icon-bubbles {
display: block;
margin: 10px 30px;
}
这使得每个.icon-bubbles
显示为一个块元素(导致换行,强制图标下方的label
)。我减少了你的利润,所以你可以更清楚地看到这个例子。
您可以查看JSFiddle here。
答案 2 :(得分:0)
您可以尝试将<span>
和<label>
分别放入包含width:100%
和text-align:center
的div中:
<div style="width:100%;text-align:center">
<span class="icon-bubbles"></span>
</div>
<div style="width:100%;text-align:center">
<label>Label Text</label>
</div>