2015-07-26 2 views
0

У меня очень странная ошибка. Я отлаживаю прямо сейчас.HTML: Равный HTML, другой Вид

Я пытаюсь из материала Design Lite: http://www.getmdl.io/components/index.html#layout-section

Но всякий раз, когда я просто копировать/вставить «фиксированный заголовок» пример из их официального CodePen (http://codepen.io/anon/pen/WvaKjK) она выглядит в браузере:

Look at the Icon in the Top Left

И это весь HTML, который используется:

<html> 
 

 
<head> 
 
    <!-- Material Design Lite --> 
 
    <script src="https://storage.googleapis.com/code.getmdl.io/1.0.1/material.min.js"></script> 
 
    <link rel="stylesheet" href="https://storage.googleapis.com/code.getmdl.io/1.0.1/material.indigo-pink.min.css"> 
 
    <!-- Material Design icon font --> 
 
    <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> 
 
</head> 
 

 
<body> 
 
    <!-- Always shows a header, even in smaller screens. --> 
 
    <div class="mdl-layout mdl-js-layout mdl-layout--fixed-header"> 
 
    <header class="mdl-layout__header"> 
 
     <div class="mdl-layout__header-row"> 
 
     <!-- Title --> 
 
     <span class="mdl-layout-title">Title</span> 
 
     <!-- Add spacer, to align navigation to the right --> 
 
     <div class="mdl-layout-spacer"></div> 
 
     <!-- Navigation. We hide it in small screens. --> 
 
     <nav class="mdl-navigation mdl-layout--large-screen-only"> 
 
      <a class="mdl-navigation__link" href="">Link</a> 
 
     </nav> 
 
     </div> 
 
    </header> 
 
    <div class="mdl-layout__drawer"> 
 
     <span class="mdl-layout-title">Title</span> 
 
     <nav class="mdl-navigation"> 
 
     <a class="mdl-navigation__link" href="">Link</a> 
 
     </nav> 
 
    </div> 
 
    <main class="mdl-layout__content"> 
 
     <div class="page-content"> 
 
     <!-- Your content goes here --> 
 
     </div> 
 
    </main> 
 
    </div> 
 
</body> 
 

 
</html>

Если вы сравниваете два заголовка, вы видите, что значок в левом верхнем углу не находится на месте. Ну, квест возникает из-за того, почему.

Потому что я использую же код на моей машине, что делает значок появляется из места, но каждый раз, когда я копировать/вставить код из браузера по F.E. cmd + U для jsfiddle или codepen, я получаю значок, расположенный справа.

Смотрите здесь:

http://codepen.io/anon/pen/LVgBzZ

Это не проблема браузера, так как та же проблема возникает и в Firefox, Chrome, Chrome Canary, а также Android Chrome. Я загрузил тот же HTML здесь, который отображается неправильно:

http://temp.leavingblue.com/5.html

Я побежал код на моей локальной машине на окнах (WAMP) и на Linux виртуальной машине (приусадебных).

TL; DR:

же HTML выглядит хорошо в Официальном сайте getmdl.io, codepen, jsfiddle, но выглядит странно, когда я восстановить его на моем собственном HTML-файл.

Как воспроизвести ошибку

Перейти к

  1. http://temp.leavingblue.com/5.html,
  2. Cmd + U
  3. Копировать/Вставить все Codepen.io
  4. Посмотрите на различия

Может ли кто-нибудь воспроизвести ошибку? У кого-нибудь есть объяснение этого поведения?

ответ

2

Я открываю this link и нашел следующую причину, по которой значок не Allign

// Задаем высота строки: 40px; в ниже CSS

.mdl-layout__drawer-button { 
    display: block; 
    position: absolute; 
    height: 48px; 
    width: 48px; 
    border: 0; 
    -webkit-flex-shrink: 0; 
    -ms-flex-negative: 0; 
    flex-shrink: 0; 
    overflow: hidden; 
    text-align: center; 
    cursor: pointer; 
    font-size: 26px; 
    line-height: 50px; //change here 
    font-family: Helvetica,Arial,sans-serif; 
    margin: 10px 12px; 
    top: 0; 
    left: 0; 
    color: rgb(255,255,255); 
    z-index: 4; 
} 

и

высота линии: 1; // удалить это из ниже CSS

.material-icons { 
    font-family: 'Material Icons'; 
    font-weight: normal; 
    font-style: normal; 
    font-size: 24px; 
    line-height: 1; //remove this from here 
    letter-spacing: normal; 
    text-transform: none; 
    display: inline-block; 
    word-wrap: normal; 
    -webkit-font-feature-settings: 'liga'; 
    -webkit-font-smoothing: antialiased; 
} 

причина это Allign в вашей скрипке, вы не добавили CSS .mdl-layout__drawer-button так line-height вызывает проблему

ЗДЕСЬ ВАША ОШИБКА

Repalce это <html> с это <!DOCTYPE html> это сам объяснил

working fix

+0

Извините, я до сих пор не понимаю. Почему он работает в codepen.io или в фрагменте кода выше, но не по ссылке, которую я опубликовал? По моему мнению, я упоминаю оба раза cdn, и я вообще не использую CSS-файл во всех ссылках, которые я опубликовал. (Просто в jsfiddle, потому что jsfiddle имеет проблемы с распознаванием ссылки на значки. – LoveAndHappiness

+0

простой ответ, один css написан поверх другого, в этом случае лучший способ использовать свой собственный CSS-файл с '! Important' или попытаться изменить положение включенных css-файлов, помните, если у вас есть 3 файла css, например 1, 2 и 3, третий файл перезапишет 1 и 2, потому что он будет последним, и браузер прочитает его последним и предпочтет его более 1 и 2 – Shehary

+0

Это сводится к специфичности CSS. Шрифт должен быть включен до CSS MDL (также, поскольку это может вызвать проблемы другими способами для случаев ниши.) Поскольку шрифт CSS приходит позже, он получает более высокий приоритет, чем MDL CSS, поэтому значки CSS являются переопределяя высоту линии, установленную MDL. – Garbee

1

Все, что не хватало одной линии в верхней части документа

<!doctype html> 

Как кажется, редакторы включают его автоматически.

+1

действительно, после 2 минут моего обновленного ответа вы отправляете свой ответ и рассказываете другим, что это проблема – Shehary

+0

Я не видел вашего обновления. Я загрузил полный источник одного из их рабочих шаблонов и разделил его по частям, пока единственная разница не была в Doctype. Тем не менее я очень благодарен за ваш вклад и принял ваш ответ как правильный. Спасибо друг. – LoveAndHappiness

+1

Да, я потратил 30 минут, чтобы разобраться с этим, воспроизвести все на своем сервере, сравнить и выяснить, так что меня немного разозлило, когда я увидел, что вы отправили ответ после моего обновленного ответа, моих опполий и вас больше всего приветствуют – Shehary

Смежные вопросы