Я пытаюсь понять эффекты CSS это реализации jQTouch. http://www.jqtouch.com/
Это имеет некоторые определения CSS, которые содержат синтаксис как body > *
body > * {
-webkit-backface-visibility: hidden;
-webkit-box-sizing: border-box;
display: none;
position: absolute;
left: 0;
width: 100%;
-webkit-transform: translate3d(0,0,0) rotate(0) scale(1);
min-height: 420px !important;
}
body.fullscreen > * {
min-height: 460px !important;
}
body.fullscreen.black-translucent > * {
min-height: 480px !important;
}
body.landscape > * {
min-height: 320px;
}
body > .current {
display: block !important;
}
Я искал вокруг в течение некоторого времени, но не могу найти подсказку. Кто-то мог объяснить это мне?
Это подразумевает анимацию?
body > *
означает "любой прямой дочерний элемент тега тела", например, рассмотрим следующий сценарий
<body>
<h1>This will be affected by body > *</h1>
<div>
This also
<p>This will not be affected, because it is not a direct child</p>
</div>
</body>
Символ > является индикатором соответствия, а * - указываемым соответствием.
Таким образом,
body > *
означает соответствие любому ребенку тела.
>
означает, что будет затронут только следующий *
(что угодно), который является НЕПОСРЕДСТВЕННЫМ потомком тела
.
Итак, тело > *
в основном означает каждого непосредственного ребенка тэга тела. тело *
означает все тэги внутри тела тэга, независимо от уровня.
Это не только вопрос JSF/HTML, но это также вопрос CSS. Вышеуказанный макет в основном может быть достигнут следующим образом:
<h:panelGroup id="header" layout="block"></h:panelGroup>
<h:panelGroup id="leftcol" layout="block"></h:panelGroup>
<h:panelGroup id="rightcol" layout="block"></h:panelGroup>
(который генерирует следующий HTML)
<div id="header"></div>
<div id="leftcol"></div>
<div id="rightcol"></div>
Вы можете стиль/позиционировать его с помощью CSS, как:
#header {
width: 100%;
height: 100px;
}
#leftcol {
width: 200px;
float: left;
}
#rightcol {
float: left;
}
Вот и все.
-121--3926431- body > *
означает «любой элемент, являющийся прямым потомком элемента body
».
Сравните его с body *
, что означает «любой элемент, являющийся потомком элемента body
». Это также соответствует элементу < a >
в < body > < p > < a >...
, например.
*
- это селектор с подстановочными знаками, который просто соответствует всем элементам, поэтому body> *
будет соответствовать всем прямым дочерним элементам элемента body
.
>
означает, что только следующее *
(что угодно), то есть IMMEDIATE дочерний элемент тела
будет затронут.
Итак, body> *
в основном означает каждый непосредственный дочерний элемент тега body. body *
означает все теги внутри тега body, независимо от уровня.
*
означает все элементы, а >
означает непосредственные дочерние элементы, поэтому body > *
означает все непосредственные дочерние элементы тела.
Вероятно, это какой-то хак, чтобы ссылаться на определенный браузер, хотя я не знаком с ним.