Что действительно “придает форму> *” средний в CSS?

Я пытаюсь понять эффекты 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;
}

Я искал вокруг в течение некоторого времени, но не могу найти подсказку. Кто-то мог объяснить это мне?

Это подразумевает анимацию?

14
задан 3 revs, 3 users 66% 8 March 2018 в 14:01
поделиться

6 ответов

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>
16
ответ дан 1 December 2019 в 09:01
поделиться

Символ > является индикатором соответствия, а * - указываемым соответствием.

Таким образом,

body > * 

означает соответствие любому ребенку тела.

http://www.w3.org/TR/CSS2/selector.html

4
ответ дан 1 December 2019 в 09:01
поделиться

> означает, что будет затронут только следующий * (что угодно), который является НЕПОСРЕДСТВЕННЫМ потомком тела .

Итак, тело > * в основном означает каждого непосредственного ребенка тэга тела. тело * означает все тэги внутри тела тэга, независимо от уровня.

-121--2451628-

Это не только вопрос 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 >...

, например.

0
ответ дан 1 December 2019 в 09:01
поделиться

* - это селектор с подстановочными знаками, который просто соответствует всем элементам, поэтому body> * будет соответствовать всем прямым дочерним элементам элемента body .

1
ответ дан 1 December 2019 в 09:01
поделиться

> означает, что только следующее * (что угодно), то есть IMMEDIATE дочерний элемент тела будет затронут.

Итак, body> * в основном означает каждый непосредственный дочерний элемент тега body. body * означает все теги внутри тега body, независимо от уровня.

9
ответ дан 1 December 2019 в 09:01
поделиться

* означает все элементы, а > означает непосредственные дочерние элементы, поэтому body > * означает все непосредственные дочерние элементы тела.

Вероятно, это какой-то хак, чтобы ссылаться на определенный браузер, хотя я не знаком с ним.

0
ответ дан 1 December 2019 в 09:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: