左右对齐文本

时间:2018-10-27 01:42:10

标签: html css

我正在从json数据库读取数据并将其显示在div中。唯一的问题是我在布局问题上苦苦挣扎。

我希望它看起来像下面(点只是为了对齐空格键不影响作品的位置)

离线站点 ............................... ................................................... .......... 离线时间

测试站点1 ..................................................... ................................................... …… .3小时

请在下面查看我所做的事情。

function CheckSitesDownTime(){
        $.ajax({
            url: 'OfflineSites.json',
            dataType: 'json',
           type: 'get',
            cache: false,
            success: function(data) {
                $(data.SitesOffline1).each(function(index, value) {
                    console.log(value.time);
                        var para = document.createElement("h6");
var time = document.createTextNode(value.time);
para.appendChild(time);
para.className = "text-right";
console.log(para);
console.log("end");
document.getElementById("monitor-panel").appendChild(para);
                  });

            }
       });}

function CheckSites(){
        $.ajax({
            url: 'OfflineSites.json',
            dataType: 'json',
           type: 'get',
            cache: false,
            success: function(data) {
                $(data.SitesOffline).each(function(index, value) {
                    console.log(value.name);
                        var para = document.createElement("h6");
var t = document.createTextNode(value.name);
para.appendChild(t);
para.
console.log(para);
console.log("end");
document.getElementById("monitor-panel").appendChild(para);
                  });
            }
       });}

上面的代码导致以下布局

离线站点 ............................... ................................................... ...... 离线时间

测试站点1 ..................................................... ................................................... ........................... ................................................... ................................................... ................... 3小时

我认为我需要同时将它们附加在一起,这样的东西

para.className = "style="text-align:left";
para.appendChild(Name);
para.appendChild ("<span")
para.className = "style="float:right;";
para.appendChild (Time)
para.appendChild ("</span>")

对质量欠佳的代码表示歉意,两天前开始使用HTML,CSS进行编码,因此仍然可以学习。

3 个答案:

答案 0 :(得分:3)

如今在CSS中有一种非常有用的东西叫做Flex box。 您可以在此处详细阅读。 https://css-tricks.com/snippets/css/a-guide-to-flexbox/

您得到了导致浮动的上述结果原因。

以这个为例。

.container{
display:flex;
justify-content: space-between;
}
<div class="container">
<span>Element 1</span>
<span>Element 2</span>
</div>

答案 1 :(得分:2)

您可以将display作为网格用于对齐项目:

   .grid-container {
        display: grid;
        background-color: #ccc;
        padding: 3%;
    }

    .grid-container>div {
        background-color: grey;
        text-align: center;
        padding: 20px 0;
        font-size: 30px;
    }

    .item1 {
        grid-area: 1 / 3 / 2 / 4;
    }

    .item0 {
        grid-area: 1 / 1 / 2 / 2;
    }
<div class="grid-container">

    <div class="item1">Left</div>

    <div class="item0">Right</div>

</div>

答案 2 :(得分:1)

Vasilis's答案的变化形式,其CSS中带有前导点。

.row {
  display: flex;
  width: 20em;
  justify-content: space-between;
}

.row span:not(.dots) {
  flex: 1 0 auto;
  padding: 0 10px;
}

.row .dots {
  flex: 0 1 auto;
}

.row .dots::before {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
}
<div class="row">
  <span>Element 1</span>
  <span class="dots"></span>
  <span>Value 1</span>
</div>
<div class="row">
  <span>Element 2</span>
  <span class="dots"></span>
  <span>Value 2</span>
</div>

<div class="row">
  <span>Element 3</span>
  <span class="dots"></span>
  <span>Value 3</span>
  </div