简体   繁体   English

使用javascript创建的Divs未对齐

[英]Divs created with javascript not aligned

I have a little list of events and a button to add events. 我有一些事件列表和一个添加事件的按钮。

The idea is that the button appends new events to the page. 想法是该按钮将新事件附加到页面。 My problem is that the new events added to the page do not have a margin to the right, so the events are not aligned with the others. 我的问题是,添加到页面的新事件没有右边距,因此这些事件与其他事件不一致。

 function addEvent() { var iDiv = document.createElement('div'); iDiv.innerHTML = "Nome: Front In Sampa 6a edição<br>\\ Data: 1/7/2017<br>\\ Horário: 8:00 - 19:00<br>\\ Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br>\\ Organizadores: Front In Sampa<br>\\ Foto: Alguma foto"; iDiv.className = "event"; document.getElementsByClassName('container')[0].appendChild(iDiv); } 
 .container { width: 90%; background-color: #f0f0f0; margin: 0 auto; } .event { width: 20%; display: inline-block; min-height: 30%; margin: auto; margin-bottom: 5px; border: 2px black double; padding: 2%; } button { width: 100%; background-color: #4CAFA1; color: white; font-size: 16px; } 
 <div class="container"> <button type="button" id="add" onclick="addEvent()">Add New Event</button><br> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hot el do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> <div class="event"> Nome: Front In Sampa 6a edição<br> Data: 1/7/2017<br> Horário: 8:00 - 19:00<br> Local: Teatro hotel do Maksoud Plaza: R. São Carlos do Pinhal, 424 - Bela Vista, São Paulo<br> Organizadores: Front In Sampa<br> Foto: Alguma foto </div> </div> 

This is causing due to display: inline-block. 这是由于显示原因造成的:inline-block。

Here, is what you can do, 这就是你可以做的

1) Remove Display: inline-block 1)删除显示:内联块

2) Add Float: left instead 2)添加浮动:改为

3) Add margin-left: 3px; 3) 在左边增加空白:3px; (if you want to have the same effect) (如果您想产生相同的效果)

.event {
  width: 20%;
  float: left;
  min-height: 30%;
  margin-bottom: 5px;
  margin-left: 3px;
  border: 2px black double;
  padding: 2%;
}

Note: Dont forget to add the following line after all the div's have been appended, to clear the floating of the divs. 注意:在添加所有div之后,请不要忘记添加以下行,以清除div的浮动。

<div style="clear:both"></div>

Remove margin:auto; 删除保证金:自动; and add something like margin-right: 3px; 并添加诸如margin-right的内容:3px; that will work. 那可行。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM