Подтвердить что ты не робот

Стиль bootstrap datetimepicker не применяется правильно

У меня возникли проблемы с тем, что этот bootstrap datetimepicker работает:

http://eonasdan.github.io/bootstrap-datetimepicker/

Я сделал очень основную страницу, вот код:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;" />
<title>Test page</title>

<link rel="stylesheet" href="#" onclick="location.href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'; return false;">
<link rel="stylesheet" href="#" onclick="location.href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css'; return false;"> 
<link rel="stylesheet" src="css/bootstrap-datetimepicker.min.css">

<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="js/moment-with-locales.min.js"></script>
<script src="js/bootstrap-datetimepicker.min.js"></script>

<script type="text/javascript">
$(document).ready(function()
{
    $('#datetimepicker1').datetimepicker();
});
</script>
</head>

<body>
<div class='col-sm-2'>
    <div class='input-group' id='datetimepicker1'>
        <input type='text' class="form-control" />
        <span class="input-group-addon">
            <span class="glyphicon glyphicon-calendar"></span>
        </span>
    </div>
</div>

</body>
</html>

Теперь это не так, как плагин не работает, это больше похоже на то, что некоторые стили не применяются правильно. Вот картина, чтобы лучше проиллюстрировать, что я имею в виду. Слева - это то, что у меня есть, а справа - то, что я действительно хочу:

datepicker comparison

Как вы можете видеть, все выровнено слева, а не центрировано, а вещи уже. Кроме того, нет эффекта зависания, когда я запускаю указатель мыши над календарем, и текущий день не отображается должным образом. Может ли кто-нибудь сказать мне, что я делаю неправильно?

4b9b3361

Ответ 1

С вашего скриншота, похоже, вы не втягиваете библиотеку bootstrap-datetimepicker.css. Взгляните на консоль и убедитесь, что у вас нет ошибок, и библиотека существует в папке, которую она ищет, и имеет все необходимое содержимое.

Он не будет выглядеть ужасно без дополнительного css, потому что bootstrap делает большую часть тяжелой работы, и плагины обычно просто используют классы Bootstrap и добавляют пару своих собственных, чтобы вставить все это.

demo

С библиотекой - Рабочая

$(function() {
  $('#datetimepicker1').datetimepicker();
});
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.7.14/css/bootstrap-datetimepicker.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.7.14/js/bootstrap-datetimepicker.min.js"></script>

<div class='col-xs-4'>
  <div class='input-group' id='datetimepicker1'>
    <input type='text' class="form-control" />
    <span class="input-group-addon">
      <span class="glyphicon glyphicon-calendar"></span>
    </span>
  </div>
</div>

Ответ 2

Спасибо, Кайл, ты был прав, я не тянул стили CSS. Хотя это не потому, что я не включал это... скорее, это была ошибка в моем заявлении include. Это то, что у меня было:

<link rel="stylesheet" src="css/bootstrap-datetimepicker.min.css">

Я случайно ставил 'src' вместо 'href', поэтому вот что я должен был бы поставить:

<link rel="stylesheet" href="css/bootstrap-datetimepicker.min.css">

Спасибо, что указали мне в правильном направлении:)

Ответ 3

У меня был такой же симптом, из-за той же проблемы стилей, которые не загружаются. В моем случае мое приложение - это приложение Rails 5, а в моем application.css файле я имел

*= require_bootstrap-datetimepicker

вместо

*= require bootstrap-datetimepicker

Сделав это исправление, исправил это для меня.