Проблема с интеграцией Bootstrap, Jquery и Thymeaf - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь создать двойной выпадающий список, поэтому я нашел хороший пример отсюда w3schools . Но когда я вставляю код оттуда, выпадающий список не работает. Это выглядит так:

First

Кнопка «Учебники».

Когда я заменяю файлы начальной загрузки в и из ссылок на ссылки, двойной выпадающий список работает хорошо, но другие вещи, такие как заголовок, выглядят ужасно:

пример:

от

<link href="../static/css/bootstrap.css" rel="stylesheet" th:href="@{/css/bootstrap.css}"/>

до

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" th:href="@{'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'}"/>    

Second

Не могли бы вы помочь мне решить эту проблему? Код ниже:

HTML:

<!doctype html>
<html lang="ru" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="БАНК">
    <meta name="author" content="">

    <title>БАНК</title>

    <link href="../static/css/bootstrap.css" rel="stylesheet" th:href="@{/css/bootstrap.css}"/>
    <link href="../static/css/main.css" th:href="@{/css/main.css}" rel="stylesheet">
    <link rel="icon" href="../static/img/favicon.ico" th:href="@{/img/favicon.ico}"/>
    <script src="../static/js/jquery-3.1.0.min.js" th:src="@{/js/jquery-3.1.0.min.js}"></script>
    <script src="../static/js/blog-scripts.js" th:src="@{/js/blog-scripts.js}"></script>
    <script src="../static/js/bootstrap.js" th:src="@{/js/bootstrap.js}"></script>
    <style>
        .dropdown-submenu {
            position: relative;
        }

        .dropdown-submenu .dropdown-menu {
            top: 0;
            left: 100%;
            margin-top: -1px;
        }
    </style>
</head>

<body>
<header th:replace="layout :: site-header"></header>

<div class="col-sm-12 blog-header">
    <div class="container">
        <h1 class="blog-title text-center">test</h1>
    </div>
</div>

<main role="main" class="container">
    <div class="row">
        <div class="col-xl-9 blog-main">
            <div class="dropdown">
                <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Tutorials
                    <span class="caret"></span></button>
                <ul class="dropdown-menu">
                    <li><a tabindex="-1" href="#">HTML</a></li>
                    <li><a tabindex="-1" href="#">CSS</a></li>
                    <li class="dropdown-submenu">
                        <a class="test" tabindex="-1" href="#">New dropdown <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
                            <li><a tabindex="-1" href="#">2nd level dropdown</a></li>
                            <li class="dropdown-submenu">
                                <a class="test" href="#">Another dropdown <span class="caret"></span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">3rd level dropdown</a></li>
                                    <li><a href="#">3rd level dropdown</a></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
            </div>

        </div>

        <div class="col-xl-9 blog-main">
            <div class="blog-post" th:each="post : ${latest5posts}">
                <h2 class="blog-post-title"><a th:text="${post.title}" th:href="@{'/posts/view/' + ${post.id}}"></a>
                </h2>
                <p class="blog-post-meta"
                   th:text="${#dates.format(new java.util.Date(post.date),'HH:mm, dd.MM.yyyy')}">18:08, 21 ноября
                    2017</p>

                <p class="blog-post-body" th:text="${post.body}" contenteditable="true"></p>
                <hr>
            </div>
        </div>
    </div><!-- /.blog-main -->

    <aside class="col-xl-3 ml-sm-auto blog-sidebar">
        <div class="sidebar-module">
            <h4>Архив</h4>
            <ol class="list-unstyled" th:each="latest10 : ${latest10posts}">
                <li><a th:href="@{'/posts/view/' + ${latest10.id}}" th:text="${latest10.title}">Ноябрь 2017</a></li>
            </ol>
        </div>
    </aside><!-- /.blog-sidebar -->
    </div><!-- /.row -->
    <footer th:replace="layout :: site-footer"></footer>
</main><!-- /.container -->
<script>
    $(document).ready(function(){
        $('.dropdown-submenu a.test').on("click", function(e){
            $(this).next('ul').toggle();
            e.stopPropagation();
            e.preventDefault();
        });
    });
</script>
</body>
</html>

CSS:

@media (min-width: 48em) {
    html {
        font-size: 18px;
    }
}

body {
    background-color: #CDEAD3;
    color: #556A59;

}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: sans-serif;
    font-weight: 400;
}

.container {
    max-width: 90rem;
}

.blog-masthead {
    margin-bottom: 3rem;
}

.nav {
    margin-left: 0.9rem;
    background-color: #556A59;
    box-shadow: inset 0 -.1rem .25rem rgba(0, 0, 0, .1);
    border-radius: .5rem;
}

.nav-link {

    position: relative;
    padding: 1rem;
    font-weight: 500;
}

.nav-link:hover,
.nav-link:focus {
    background-color: transparent;
}

.nav-link.active::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -.3rem;
    vertical-align: middle;
    content: "";
    border-right: .3rem solid transparent;
    border-bottom: .3rem solid;
    border-left: .3rem solid transparent;
}

.nav-link.active {
    color: #fff;
}

.nav-link.active::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -.3rem;
    vertical-align: middle;
    content: "";
    border-right: .3rem solid transparent;
    border-bottom: .3rem solid;
    border-left: .3rem solid transparent;
}

/*
 * Blog name and description
 */
.row {
    margin: 0.9rem;
}

.blog-main {
    margin-bottom: 3rem;
    padding: 2rem;
    background-color: #B1EABD;
    border-radius: .5rem;
}

.blog-header {
    padding-bottom: 1.25rem;
    margin-bottom: 2rem;
    margin-left: 0.9rem;
}

.blog-title {
    padding: 1rem;
    margin-right: 1rem;
    margin-bottom: 0;
    font-weight: 400;
    background-color: #B1EABD;
    /*border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;*/

}

.lead-blog-description {
    font-size: 1.1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 0;
    margin-right: 1rem;
    border-bottom: .05rem solid #eee;
    background-color: #f5f5f5;
    border-bottom-left-radius: .25rem;
    border-bottom-right-radius: .25rem;
}

@media (min-width: 50em) {
    .blog-title {
        font-size: 3rem;
    }
}

/*
 * Main column and sidebar layout
 */

/* Sidebar modules for boxing content */
.sidebar-module {
    padding: 1rem;
}

.sidebar-module-inset {
    padding: 1rem;
    background-color: #f5f5f5;
    border-radius: .5rem;
}

.sidebar-module-inset p:last-child,
.sidebar-module-inset ul:last-child,
.sidebar-module-inset ol:last-child {
    margin-bottom: 0;
}

/* Pagination */
.blog-pagination {
    margin-bottom: 4rem;
}

.blog-pagination > .btn {
    border-radius: 2rem;
}

/*
 * Blog posts
 */

.blog-post {
    margin-top: 1rem;
}

.blog-post hr {
    margin-bottom: 2rem;
    margin-top: 2rem;
}

.blog-post-title a,
.blog-post-title a.active,
.blog-post-title a:hover,
.blog-post-title a:focus,
.blog-post-title a:after {
    color: inherit;
    text-decoration: none;
    margin-bottom: .25rem;
    font-size: 2rem;
}

.blog-post-meta {
    margin-top: 0.5rem;
}

.blog-post-body {
}

/*
 * Footer
 */

.blog-footer {
    margin-left: 0.9rem;
    border-radius: .5rem;
    padding: 1rem 0;
    text-align: center;
    background-color: #556A59;
    border-top: .05rem solid #e5e5e5;
}

.blog-footer p:last-child {
    margin-bottom: 0;
}

.btn_form button {
    height: 50px;
    border: 0px solid white;
    background: #343a40;
    outline: none;
    font-weight: bold;
}

.form-signin {
    margin: 0px auto;
    width: 500px;
}

.form-signin-heading {
    margin-top: 50px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

1 Ответ

0 голосов
/ 18 ноября 2018

Похоже, я получил устаревшую версию начальной загрузки и jquery.Теперь выглядит хорошо.Глупая ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...