Rails добавляет фантомные пробелы выше yield - PullRequest
1 голос
/ 11 сентября 2011

Это убивает меня.

Макет приложения:

<html>
  <head>
    ...
  </head>
  <body topmargin="0"><%= yield %></body>
</html>

Начало:

<div id="content">...</div>

Тем не менее, на отображаемой странице во всех браузерах есть строка предварительно отформатированного пробела, которая выталкивает содержимое из верхней части окна.

WHITESPACE! Y U NO GO AWAY?

Откуда это?

Решено

Неправильная разметка HTML (li непосредственно внутри div) заставила все браузеры добавить пробел вверху. Странно!

Ответы [ 4 ]

4 голосов
/ 11 сентября 2011

У вас должен быть где-нибудь открытый html-тег, просто пропустите ваш html через валидатор и посмотрите, перехватит ли он какой-либо.

http://validator.w3.org/#validate_by_input

2 голосов
/ 11 сентября 2011

Я думаю, что вы смотрите в неправильном макете, потому что у вас есть

<body><%= yield %><body>

но на скриншоте у вас

<body topmargin="0">
2 голосов
/ 11 сентября 2011

Исправьте ваш тег:

<%= yield %>
1 голос
/ 13 августа 2013

У меня была эта проблема, и она озадачила меня на несколько часов. В конце концов я заметил, что страницы, вызывающие проблемы, имели тип файла «UTF-8 Unicode (с BOM)», я просто преобразовал файл, чтобы удалить это, и он работал отлично.

...