Приложение Rails обрабатывает CSS по-другому? - PullRequest
2 голосов
/ 18 марта 2012

У меня есть два набора идентичных файлов HTML и CSS. Один из которых я загружаю через файл index.html.erb Rails через контроллер и все такое, другой я запускаю через свою общую папку в качестве элемента управления. Публичный файл index.html выглядит нормально:

Index in public directory

Но когда я запускаю точно такие же файлы в файле rails index.html.erb, это выглядит так:

index.html.erb file

Как вы могли заметить, текст BETA немного ниже в сборке Rails, и, очевидно, список навигации идет ниже моего элемента заголовка.

По общему признанию, я немного новичок в css и rails, так что это может быть известной проблемой, о которой я не знаю. Я попытался найти какое-то понимание, но не нашел проблем, похожих на этот. Если у кого-нибудь есть совет, как решить эту проблему, я буду очень благодарен!

РЕДАКТИРОВАТЬ: я включаю мои файлы index.html и style.css в следующие pastebins. Они совсем маленькие, может быть, взгляд на них поможет вам понять, ребята.

HTML: http://pastebin.com/wyYEN92n

CSS: http://pastebin.com/60xMe9YG

РЕДАКТИРОВАТЬ 2:

Нашел эти две строки в источнике страницы:

<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/home.css?body=1" media="all" rel="stylesheet" type="text/css" />

Я думаю, можно с уверенностью предположить, что что-то в этих файлах CSS вызывает расхождение. Я буду расследовать и доложить.

РЕДАКТИРОВАТЬ 3:

Похоже, что ни один из этих CSS-файлов на самом деле ничего не делает. Я включаю содержимое обоих в эту вставку: http://pastebin.com/pbHwEp4w

Как видите, это просто комментарии. Однако я заметил, что исходный код страницы содержит 2 HTML-тега, включенных в один файл. Я тоже это вставляю: http://pastebin.com/h4Rjqi4B

Идет

<html>//rails generated stuff</html> 
<html>//My stuff</html>

Может ли это быть причиной проблемы?

Ответы [ 3 ]

2 голосов
/ 18 марта 2012

Что касается редактирования # 3: похоже, оно исходит из макета по умолчанию в app / views / layouts / application.html.erb. По умолчанию Rails загрузит этот файл и поместит весь контент из представления, где указано <% = yield%>. Если в вашем файле просмотра есть дополнительные теги , и т. Д., Они будут дублированы. Вы можете узнать больше о макетах здесь . Кроме того, посмотрите на конвейер активов , чтобы узнать, как структурировать ваши CSS-файлы в приложении.

Как сказал Эрнест, Rails просто предоставляет файлы HTML / CSS, поэтому сама структура не влияет на то, как браузер отображает содержимое. Однако порядок , в котором содержимое представляется браузеру, конечно, имеет значение.

2 голосов
/ 18 марта 2012

CSS интерпретируется в браузере, а не на сервере, поэтому простой ответ - «нет».Но ваши стили могут интерпретироваться по-разному, когда они добавляются к любым стилям, включенным в само приложение Rails, и, возможно, ваш HTML может немного отличаться между ними.Изучите CSS, включенный в приложение Rails, и извлеките все, что может отрицательно повлиять на ваш дизайн, или просто удалите все, убедившись, что ваш CSS-файл является единственным во всей кодовой базе.

0 голосов
/ 18 марта 2012

Самый простой способ решить эту проблему: INSPECT.

Используйте инспектор вашего браузера, чтобы проверить, какие правила CSS влияют на данный элемент.Итак, предположим, что вы используете Google Chrome, вы можете:

  1. Щелкните правой кнопкой мыши один из элементов панели навигации, выберите Проверить элемент
  2. Затем в новом источникеВ окне кода выберите .logo-container или .nav
  3. Проверьте панель справа: вы увидите все применяемые в настоящее время правила CSS для этого элемента.
  4. Вы также увидите, к какому файлу применяется какое правило.
  5. ???
  6. PROFIT!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...