Область MVC RedirectToAction с дополнительной косой чертой

Это правильное поведение .1 В режиме стандартов , body, , а также html , не принимает сразу вверх по всей высоте области просмотра, даже если она появляется, когда вы применяете только фон к последнему. Фактически, элемент html будет зависеть от фона body, если вы не дадите ему свой собственный фон, и html передаст это в окно просмотра:

Фон корневого элемента становится фоном холста, а его область рисования фона распространяется на весь холст, хотя любые изображения имеют размер и расположение относительно корневого элемента, как если бы они были нарисованы только для этого элемента. (Другими словами, область фонового позиционирования определяется как для корневого элемента.) Если значение «background-color» корня «прозрачно», фоновый цвет холста зависит от UA. Корневой элемент еще не нарисовал этот фон, т. Е. Используемое значение его фона прозрачно.

Для документов, корневым элементом которых является элемент HTML HTML или элемент XHTML html: если вычисленное значение «background-image» в корневом элементе «none», а его «background-color» является «прозрачным», пользовательские агенты должны вместо этого распространять вычисленные значения свойств фона из первого HTML BODY или XHTML этого элемента body дочерний элемент. Используемые значения фоновых свойств этого элемента BODY являются их начальными значениями, а распространенные значения обрабатываются так, как если бы они были указаны в корневом элементе. Рекомендуется, чтобы авторы HTML-документов указывали фон canvas для элемента BODY, а не на элемент HTML.

blockquote>

Тем не менее, вы можете наложить любое фоновое изображение поверх цвет фона на одном элементе (либо html, либо body), не полагаясь на два элемента - просто используйте background-color и background-image или объедините их в свойстве стенограммы background:

body {
    background: #ddd url(background.png) center top no-repeat;
}

Если вы хотите объединить два фоновых изображения , вам нужно полагаться на несколько фонов. Для этого нужно всего два дня:

  • В CSS2, это то, где удобно стилизовать оба элемента: просто установите фоновое изображение на html и другое изображение на body, которое вы хотите наложить поверх первого. Чтобы обеспечить отображение фонового изображения на body на полной высоте окна просмотра, вам также необходимо применить height и min-height:
    html {
        height: 100%;
        background: #ddd url(background1.png) repeat;
    }
    
    body {
        min-height: 100%;
        background: transparent url(background2.png) center top no-repeat;
    }
    
    Кстати, причина, по которой вам нужно указать height и min-height на html и body соответственно, потому что ни один элемент не имеет внутренней высоты. Оба по умолчанию height: auto. Это viewport имеет высоту 100%, поэтому height: 100% берется из окна просмотра, а затем применяется к body как минимум, чтобы разрешить прокрутку содержимого.
  • В CSS3 синтаксис был расширенный, поэтому вы можете объявить несколько значений фона в одном свойстве , исключая необходимость применения фонов к нескольким элементам (или отрегулируйте height / min-height):
    body {
        background: url(background2.png) center top no-repeat, 
                    #ddd url(background1.png) repeat;
    }
    
    Единственная оговорка заключается в том, что в один многослойный фон, только нижний слой может иметь фоновый цвет. В этом примере вы можете увидеть, что значение transparent отсутствует на верхнем уровне. И не беспокойтесь - поведение, указанное выше, с распространенными значениями фона работает точно так же, даже если вы используете многослойные фоны.

Если вам нужно поддерживать старые браузеры, Мне нужно пойти с помощью метода CSS2, который поддерживается полностью в IE7.

Мои комментарии в этот другой ответ объясняют с помощью прилагаемой скрипты , как body на самом деле смещается по положению html по умолчанию, даже если кажется, что он выставляется вместо этого снова из-за этого, казалось бы, странного явления.


1 Это может иметь его корни в настройке атрибутов HTML background и bgcolor в body, что приводит к тому, что фоновый атрибут применяется ко всему окну просмотра. Подробнее об этом здесь .

0
задан MR.ABC 25 February 2015 в 12:46
поделиться