如何在跨度下直接放置标签?

时间:2016-05-19 19:30:02

标签: javascript html css

我无法在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/

3 个答案:

答案 0 :(得分:3)

You shouldn't be using the table element for layout for one thing,因为table只应用于表格数据。因此,我重新构建了HTML,因此它正在使用div。接下来,您只希望将span元素设为display:block,这将导致该元素的行为类似于div,并导致后续元素发生换行。

此外,标签设计用于表单,标记 input字段。如果您只想要一些与span相关联的文字,请使用其他spanp代码。

&#13;
&#13;
@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;
&#13;
&#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>