html - 添加 .json 数据后使用 bootstrap 正确定位 html 中的内容

标签 html css json twitter-bootstrap

所以在包含紧急热线的文本正确对齐后,我只是看不到将文本放在图像下面以便连续显示三个数据(我试过 col-4 但 json 搞砸了)。我的目标是图像,然后是图像正下方的数字内容。我尝试过:文本对齐、 float 、显示、媒体。如有任何帮助,我们将不胜感激。

这是目前的情况:

enter image description here

更新:这里是问题的JSfiddle,占位符用于显示定位。 https://jsfiddle.net/ktbmLaq8/

<div class="module-text" ng-controller="VolunteerAidCtrl">
    <p class="services-margin">In an emergency, please contact the appropriate service in their respective ASEAN countries for the proper response. These numbers can be called either on landline and mobile and consist of the Police Department, Fire Department, and the Hospital Ambulance. </p>
    <hr>
    <div class="row">
      <div class="col-lg-6">
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Search for..." ng-model="search">
          <span class="input-group-btn">
            <button class="btn btn-default" type="button">Go!</button>
          </span>
        </div><!-- /input-group -->
      </div><!-- /.col-lg-6 -->
    </div>
    <hr>
    <div class="row">
        <div class="col-md-6" ng-repeat="service in services | filter:search">
          <div class="media">
            <div class="media-left">
                <img class="flagsize" ng-src="{{service.flagimgurl}}">
            </div>
            <div class="media-body">
              <h4 class="media-heading country-title" ng-bind="service.country"></h4>
              <table class="table">
                <tr class="remove-border">
                  <td ng-bind="service.hl1"></td>
                  <td class="text-left">
                    <div ng-bind="service.hl1num1"></div>
                    <div ng-bind="service.hl1num2"></div>
                    <div ng-bind="service.hl1num3"></div>
                  </td>
                </tr>
                <tr class="remove-border">
                  <td ng-bind="service.hl2"></td>
                  <td class="text-left">
                    <div ng-bind="service.hl2num1"></div>
                    <div ng-bind="service.hl2num2"></div>
                    <div ng-bind="service.hl2num3"></div>
                  </td>
                </tr>
                <tr class="remove-border">
                  <td ng-bind="service.hl3"></td>
                  <td class="text-left">
                    <div ng-bind="service.hl3num1"></div>
                    <div ng-bind="service.hl3num2"></div>
                    <div ng-bind="service.hl3num3"></div>
                  </td>         
                </tr>
                <tr class="remove-border">
                  <td ng-bind="service.hl4"></td>
                  <td class="text-left">
                    <div ng-bind="service.hl4num1"></div>
                    <div ng-bind="service.hl4num2"></div>
                    <div ng-bind="service.hl4num3"></div>
                  </td>
                </tr>
              </table>
            </div>
          </div>
        </div>
        </div>
</div>
        <!-- <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_cambodia.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Cambodia</td>
                    </tr>
                    <tr>
                        <td>Fire</td>
                        <td>:114</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:023 723 555</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:117</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:023 366 841</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:023 720 235</td>
                    </tr>
                    <tr>
                        <td>Ambulance&nbsp&nbsp</td>
                        <td>:119</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:023 724 891</td>
                    </tr>
                </table>
        </div>

        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_indonesia.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Indonesia</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:110</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:112</td>
                    </tr>
                    <tr>
                        <td>Fire</td>
                        <td>:113</td>
                    </tr>
                    <tr>
                        <td>Ambulance and Rescue&nbsp&nbsp</td>
                        <td>:118</td>
                    </tr>
                    <tr>
                        <td>Medical Emergencies</td>
                        <td>:119</td>
                    </tr>
                </table>
        </div>

        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_laos.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Laos</td>
                    </tr>
                    <tr>
                        <td>Fire</td>
                        <td>:190</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:191</td>
                    </tr>
                    <tr>
                        <td>Ambulance&nbsp&nbsp</td>
                        <td>:195</td>
                    </tr>
                </table>
        </div>
    </div>
    <hr>
    <div class="row">
        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_malaysia.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Malaysia</td>
                    </tr>
                    <tr>
                        <td>Fire and Rescue</td>
                        <td>:994</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:114</td>
                    </tr>
                    <tr>
                        <td>Ambulance/Police&nbsp&nbsp</td>
                        <td>:999</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:112</td>
                    </tr>
                </table>
        </div>

        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_myanmar.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Myanmar</td>
                    </tr>
                    <tr>
                        <td>Fire</td>
                        <td>:191</td>
                    </tr>
                    <tr>
                        <td>Ambulance&nbsp&nbsp</td>
                        <td>:192</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:199</td>
                    </tr>
                </table>
        </div>

        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_philippines.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Philippines</td>
                    </tr>
                    <tr>
                        <td>Disaster Risk&nbsp&nbsp&nbsp&nbsp</td>
                        <td>:(02) 911-1406</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:(02) 912-1406</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:117</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:911</td>
                    </tr>
                    <tr>
                        <td>Fire</td>
                        <td>:117</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:(02) 729-5166</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:(02) 410-6319</td>
                    </tr>
                    <tr>
                        <td>Red Cross</td>
                        <td>:(02) 527-0000</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:(02) 527-8385</td>
                    </tr>

                </table>
        </div>

        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_singapore.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Singapore</td>
                    </tr>
                    <tr>
                        <td>Fire and Ambulance&nbsp&nbsp</td>
                        <td>:995</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:999</td>
                    </tr>
                </table>
        </div>
    </div>  
    <hr>
    <div class="row">
        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_thailand.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Thailand</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:191</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:1195</td>
                    </tr>
                    <tr>
                        <td>Fire</td>
                        <td>:199</td>
                    </tr>
                    <tr>
                        <td>Ambulance and Rescue&nbsp&nbsp</td>
                        <td>:1554</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>:1669</td>
                    </tr>
                </table>
        </div>
        <div class="col-md-3 services-margin">
            <img class="flagsize" src="../../../img/flag_vietnam.png">
                <table class="services">
                    <tr>
                        <td class="country-title">Vietnam</td>
                    </tr>
                    <tr>
                        <td>Police</td>
                        <td>:113</td>
                    </tr>
                    <tr>
                        <td>Fire</td>
                        <td>:114</td>
                    </tr>
                    <tr>
                        <td>Ambulance&nbsp&nbsp</td>
                        <td>:115</td>
                    </tr>
                </table>
        </div> -->

最佳答案

问题在于,在您的 HTML 结构中,您将所有国家/地区的信息列在一个集合表中,同时在表外显示每个国家/地区的国旗。要“分解”所有存储在表中的信息并不容易。

解决此问题的最佳方法是同时处理每个国家/地区的标志和服务信息。。为此,首先我们将所有表格元素转换为 <div>s ,向每个新的 div 添加类,并稍微更改它们的顺序:

<div class="country">
    <div class="media-left">
      <a href="#">
        <img class="media-object flagsize" src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Flag_of_Brunei_1906-1959.svg/1000px-Flag_of_Brunei_1906-1959.svg.png" alt="...">
      </a>
    </div>
    <div class="country-info">
      <h4 class="media-heading country-title" ng-bind="service.country">Brunei</h4>
      <div class="left" ng-bind="service.hl1">Service 1</div>
      <div class="right" ng-bind="service.hl1num1">111</div>
      <div class="left" ng-bind="service.hl2">Service 2</div>
      <div class="right" ng-bind="service.hl1num2">222</div>
      <div class="left" ng-bind="service.hl3">Service 2</div>
      <div class="right" ng-bind="service.hl1num3">333</div>
    </div>
</div>

然后您可以更轻松地定位相应的内容:)

img.flagsize, .country-info {
  max-width: 200px
}

.left {
  float: left;
  clear: left;
}

.right {
  float: right;
  clear: right;
}

您还需要指定 .country-info宽度应与 img.flagsize 相同, 否则信息将被推到页面的右侧:

img.flagsize, .country-info {
  max-width: 200px;
}

我创建了一个 fiddle 来展示这个 here .

使用这种结构,您可以根据需要更改布局的任何方面——边距、填充和高度不再是问题;)

希望对您有所帮助! :)

关于html - 添加 .json 数据后使用 bootstrap 正确定位 html 中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41797780/

相关文章:

html - Bootstrap 模式失焦

asp.net - 样式规则中的选择器后缺少左大括号 '({)'

javascript - 标签文本搞砸了纯 CSS 选择

javascript - 如何从 JavaScript 数组中删除 WebSocket 对象?

javascript - 如何在我的网站中嵌入 ace 编辑器

javascript - 如何使 contentEditable 在 iOS 5/iOS 6 下工作

css 动画问题与步骤

json - 如何隐藏一些json作为响应?

ruby-on-rails - Ruby on Rails JSON 序列化

ios - 有没有办法将pdf文件嵌入到html5页面中?