【问题标题】:Appended content do not get the proper CSS style附加的内容没有得到正确的 CSS 样式
【发布时间】:2017-06-07 05:38:20
【问题描述】:

新附加内容的设计与现有内容不同。

这是我的完整代码:

HTML

<!-- Top Bar -->
<nav class="navbar">
    <div class="container-fluid">


        <div class="collapse navbar-collapse" id="navbar-collapse">
            <ul class="nav navbar-nav navbar-right">


                <!-- Notifications -->
                <li class="dropdown">
                    <a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" role="button">
                        <i class="material-icons">notifications</i>
                        <span class="label-count">7</span>
                    </a>
                    <ul class="dropdown-menu">
                        <li class="header">NOTIFICATIONS</li>
                        <li class="body">
                            <ul class="menu" id="append">
                                <li>
                                    <a href="javascript:void(0);">
                                        <div class="icon-circle bg-light-green">
                                            <i class="material-icons">person_add</i>
                                        </div>
                                        <div class="menu-info">
                                            <h4>12 new members joined</h4>
                                            <p>
                                                <i class="material-icons">access_time</i> 14 mins ago
                                            </p>
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="javascript:void(0);">
                                        <div class="icon-circle bg-cyan">
                                            <i class="material-icons">add_shopping_cart</i>
                                        </div>
                                        <div class="menu-info">
                                            <h4>4 sales made</h4>
                                            <p>
                                                <i class="material-icons">access_time</i> 22 mins ago
                                            </p>
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="javascript:void(0);">
                                        <div class="icon-circle bg-red">
                                            <i class="material-icons">delete_forever</i>
                                        </div>
                                        <div class="menu-info">
                                            <h4><b>Nancy Doe</b> deleted account</h4>
                                            <p>
                                                <i class="material-icons">access_time</i> 3 hours ago
                                            </p>
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="javascript:void(0);">
                                        <div class="icon-circle bg-orange">
                                            <i class="material-icons">mode_edit</i>
                                        </div>
                                        <div class="menu-info">
                                            <h4><b>Nancy</b> changed name</h4>
                                            <p>
                                                <i class="material-icons">access_time</i> 2 hours ago
                                            </p>
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="javascript:void(0);">
                                        <div class="icon-circle bg-blue-grey">
                                            <i class="material-icons">comment</i>
                                        </div>
                                        <div class="menu-info">
                                            <h4><b>John</b> commented your post</h4>
                                            <p>
                                                <i class="material-icons">access_time</i> 4 hours ago
                                            </p>
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="javascript:void(0);">
                                        <div class="icon-circle bg-light-green">
                                            <i class="material-icons">cached</i>
                                        </div>
                                        <div class="menu-info">
                                            <h4><b>John</b> updated status</h4>
                                            <p>
                                                <i class="material-icons">access_time</i> 3 hours ago
                                            </p>
                                        </div>
                                    </a>
                                </li>
                                <li>
                                    <a href="javascript:void(0);">
                                        <div class="icon-circle bg-purple">
                                            <i class="material-icons">settings</i>
                                        </div>
                                        <div class="menu-info">
                                            <h4>Settings updated</h4>
                                            <p>
                                                <i class="material-icons">access_time</i> Yesterday
                                            </p>
                                        </div>
                                    </a>
                                </li>
                            </ul>
                        </li>
                        <li class="footer">
                            <a href="javascript:void(0);">View All Notifications</a>
                        </li>
                    </ul>
                </li>
                <!-- #END# Notifications -->



            </ul>
        </div>
    </div>
</nav>
<br/><br/> <br/><br/> <br/><br/>
<a href="#" class="append">Append it</a>

JAVASCRIPT

$( document.body ).on( 'click', '.append', function( event ) {

      $("#append").append(
                                    "<li>"+
                                        "<a href=\"javascript:void(0);\">"+
                                            "<div class=\"icon-circle bg-purple\">"+
                                                "<i class=\"material-icons\">settings</i>"+
                                            "</div>"+
                                            "<div class=\"menu-info\">"+
                                                "<h4>Just make a small Test to see the problem</h4>"+
                                                "<p>"+
                                                    "<i class=\"material-icons\">access_time</i> Yesterday"+
                                                "</p>"+
                                            "</div>"+
                                        "</a>"+
                                    "</li>"
      );

      return false;

});

一个真实的例子来测试它并查看我的问题:

https://jsfiddle.net/Lr7gn020/1/

重现我的问题:

  • 点击附加链接

  • 然后点击通知下拉菜单,向下滚动到&lt;li&gt;的最后一行,你会看到追加行的设计和其他的不一样。

请帮忙解决。

【问题讨论】:

  • 可以用单引号(')代替内双码
  • @MichaelCoker 你没有修复我现有的代码,我想要一个长文本问题的解决方案。还是谢谢你。
  • 为什么我发布这样的代码?被小文本改变?问题已经解决了,谢谢。

标签: javascript jquery html css twitter-bootstrap


【解决方案1】:

当您追加新项目时,您错过了几个课程。原始项目中的a 标记应用了waves-effectwaves-block 类,但您并没有在新添加的元素中给它。

尝试将"&lt;a href=\"javascript:void(0);\"&gt;" 更改为"&lt;a href=\"javascript:void(0);\" class=\" waves-effect waves-block\"&gt;"

更新的 JSFiddle:https://jsfiddle.net/Lr7gn020/3/

【讨论】:

  • 当我查看您更新的 Fiddle 时,我仍然看到最后一个列表项下拉到图标下方。
  • 是的。这是因为文本对于容器来说太长了。这是一个单独的问题,并且可以在 CSS 中为所有项目轻松修复。
  • 啊,我一定是有点误解了这个问题。
【解决方案2】:

我已经对您的fiddle 进行了微调。唯一阻止样式与其他样式相同的是h4menu-info div 下的内容量。当我删除一些文本时,只留下“做一个小测试”,它看起来像所有其他列表项。文本使 div 的宽度大于图标右侧给出的区域,这就是它下降的原因。

您的锚标记也缺少waves-effect waves-block 这两个类。如果您使用 JS 添加这 2 个类,则需要在附加项目后重新初始化执行此操作的函数。

更新

如果您需要有这么多内容,那么只需将 max-width: 200px 添加到您的 .menu-info 类即可。 Updated Fiddle

【讨论】:

  • 是的,这正是我想要解决的问题!我想在下拉菜单中使用长文本。
猜你喜欢
  • 2015-11-17
  • 1970-01-01
  • 2018-09-29
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-11
  • 1970-01-01
相关资源
最近更新 更多