【问题标题】:Styling For Loop Objects循环对象的样式
【发布时间】:2017-03-27 20:34:53
【问题描述】:

我想用 css 实现附图中的设计。我是一名正在尝试学习前端开发的后端人员。

我也在项目中使用引导程序。我尝试使用“位置:相对”,但它不起作用。

我正在用 Django 构建网站。

HTML

 {% if hots %}
 {% for hot in hots %}   

  <img class="kown-image" src="{{hot.main_photo.url}}" width="300px" height="200px" />

 <p class="kown-prop"> <a href="{{ hot.get_absolute_url }}">{{ hot.name }}</a> </p>

 <p class="kown-cit"> {{ hot.city}},{{hot.country}}</p>

  {% with hot.motel_hr.first as md %}
                    {% if md %}
                  <p class="kown-cp">  From {{hot.user.user.currency}}{{ md.room_price }}/night </p>
                  <p class="kown-cop"> <a href="#">Buy Now</a></p>
            {% else %}
                     <p> no price found </p>

             {% endif %}
         {% endwith %}
         {% endfor %}


<p class="kown-down-line"> </p>      
 <p>  <a href="{% url 'haystack_search' %}?q={{query_string}}"/>See More Places </a></p>
 {% endif %}
 </div>

CSS

.kown-hotel{
    background-color:white; 
    margin-top:10px;
    margin-left:50px;   
  }

 .kown-image {
    width: 300px;
    height: 200px;
    padding-bottom: 70px;
    border-bottom: 1px solid black;
 }

 .kown-prop {
   display:inline;
   vertical-align:top;
   padding-left:10px;
   width: 600px;
   height: 50px;
   background-color:green;
 }

 .kown-cit {
    background-color:black;
    width: 300px;
    margin-left: 305px;
    margin-top: -100px;
  }

   .kown-cp {
       float:right;
       margin-top: -90px;
   }

   .kown-cop {
      float:right;
      margin-top: -70px;
  }

在浏览器中使用我编写的 css 看起来像下面的屏幕截图。

但我希望它正确对齐并看起来像下面的屏幕截图。

【问题讨论】:

  • 您的标记在编译/输出到浏览器后会是什么样子?
  • (...) '因为 CSS 用于样式化 HTML 元素,而不是 Django 模板 ;) 除了 SO sn-ps 之外,您还可以使用 bootply.com/new(后者不会添加 Bootstrap CSS,但可以保证最后一段时间 bootply 可能会消失)

标签: css twitter-bootstrap-3 django-templates


【解决方案1】:

除了你的&lt;img&gt;元素之外,你所有的其他容器都是块元素,因此占据了可用宽度的100%。

要让块元素彼此相邻,您需要做两件事:

  1. 首先,将它们中的每一个设置为占用更少的空间,因此它们的总宽度不会超过 100%。
  2. 其次,将它们浮动到左侧,以便它们实际上位于同一“行”上。

如果您打算使用 Bootstrap,您可以通过使用它们的柱状网格布局轻松实现,例如:

<div class="col-xs-3">
  <img src="..."/>
</div>
<div class="col-xs-3">
  <p>Address</p>
  <p>Address</p>
  <p>Address</p>
</div>
<div class="col-xs-3">
  <button>Buy now</button>
</div>

在此处阅读有关如何使用引导程序网格布局的更多信息: http://getbootstrap.com/css/#grid

【讨论】:

  • 在图像中添加 col-xs-3 后,图像相互重叠。我添加了一个类 'kown-image' 并将它们浮动到左侧.. 仍然无法正常工作。
  • 我正在描述您的问题的一般解决方案。显然,如果您想对您的问题有一个具体的概述,您将不得不提供一段有问题的工作代码。从您提供的 JPG 中,我只能画很少的东西。
  • 帖子已更新。查看浏览器和代码的屏幕截图。
  • 这篇文章很乱。我的回答不再与您当前的问题相关。请修改您的问题并准确关注您遇到的问题。另外 - 附上结果 HTML - 不仅仅是你在 Django 中使用的模板。
猜你喜欢
  • 2019-07-27
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多