CSS “child” selector behaves like a “descendant” selector
up vote
0
down vote
favorite
I'm trying to apply some CSS styles on a very basic html demo in order to get this result. (Only Item 1.1 and Item 1.2 as lowercase letter)
- ITEM 1
- Item 1.1
- Item 1.2
- ITEM 2
- ITEM 3
These are the html and css code snippets.
index.html
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
styles.css
ul#list > li
text-transform: uppercase;
Which gives me the following result.
- ITEM 1
- ITEM 1.1
- ITEM 1.2
- ITEM 2
- ITEM 3
So as you can see the text-transform property is been applied on every li element even though ITEM 1.1 and ITEM 1.2 are not direct children of ul#list
This seems to be like the behavior of a descendant selector:
ul#list li
text-transform: uppercase;
html css
add a comment |
up vote
0
down vote
favorite
I'm trying to apply some CSS styles on a very basic html demo in order to get this result. (Only Item 1.1 and Item 1.2 as lowercase letter)
- ITEM 1
- Item 1.1
- Item 1.2
- ITEM 2
- ITEM 3
These are the html and css code snippets.
index.html
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
styles.css
ul#list > li
text-transform: uppercase;
Which gives me the following result.
- ITEM 1
- ITEM 1.1
- ITEM 1.2
- ITEM 2
- ITEM 3
So as you can see the text-transform property is been applied on every li element even though ITEM 1.1 and ITEM 1.2 are not direct children of ul#list
This seems to be like the behavior of a descendant selector:
ul#list li
text-transform: uppercase;
html css
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm trying to apply some CSS styles on a very basic html demo in order to get this result. (Only Item 1.1 and Item 1.2 as lowercase letter)
- ITEM 1
- Item 1.1
- Item 1.2
- ITEM 2
- ITEM 3
These are the html and css code snippets.
index.html
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
styles.css
ul#list > li
text-transform: uppercase;
Which gives me the following result.
- ITEM 1
- ITEM 1.1
- ITEM 1.2
- ITEM 2
- ITEM 3
So as you can see the text-transform property is been applied on every li element even though ITEM 1.1 and ITEM 1.2 are not direct children of ul#list
This seems to be like the behavior of a descendant selector:
ul#list li
text-transform: uppercase;
html css
I'm trying to apply some CSS styles on a very basic html demo in order to get this result. (Only Item 1.1 and Item 1.2 as lowercase letter)
- ITEM 1
- Item 1.1
- Item 1.2
- ITEM 2
- ITEM 3
These are the html and css code snippets.
index.html
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
styles.css
ul#list > li
text-transform: uppercase;
Which gives me the following result.
- ITEM 1
- ITEM 1.1
- ITEM 1.2
- ITEM 2
- ITEM 3
So as you can see the text-transform property is been applied on every li element even though ITEM 1.1 and ITEM 1.2 are not direct children of ul#list
This seems to be like the behavior of a descendant selector:
ul#list li
text-transform: uppercase;
html css
html css
edited Nov 10 at 14:10
asked Nov 10 at 6:52
Sandoval0992
4571616
4571616
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
2
down vote
accepted
text-transform is an inherited property. Specifying it on a parent also copies it down to children. Obvious, Just because you didn't set any primary property for child elements. So by default its taking that property as primary ,
ul#list > li
text-transform: uppercase;
ul#list li
text-transform: none;
ul#list>li
text-transform: uppercase;
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.1.1</li>
<li>Item 1.2.1</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>add a comment |
up vote
1
down vote
This is because you did not specify any NORMAL CSS for <li>
You can simply achieve this by above ul#list > li
li
text-transform: none;
Please refer to this for details:
https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
text-transform is an inherited property. Specifying it on a parent also copies it down to children. Obvious, Just because you didn't set any primary property for child elements. So by default its taking that property as primary ,
ul#list > li
text-transform: uppercase;
ul#list li
text-transform: none;
ul#list>li
text-transform: uppercase;
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.1.1</li>
<li>Item 1.2.1</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>add a comment |
up vote
2
down vote
accepted
text-transform is an inherited property. Specifying it on a parent also copies it down to children. Obvious, Just because you didn't set any primary property for child elements. So by default its taking that property as primary ,
ul#list > li
text-transform: uppercase;
ul#list li
text-transform: none;
ul#list>li
text-transform: uppercase;
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.1.1</li>
<li>Item 1.2.1</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
text-transform is an inherited property. Specifying it on a parent also copies it down to children. Obvious, Just because you didn't set any primary property for child elements. So by default its taking that property as primary ,
ul#list > li
text-transform: uppercase;
ul#list li
text-transform: none;
ul#list>li
text-transform: uppercase;
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.1.1</li>
<li>Item 1.2.1</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>text-transform is an inherited property. Specifying it on a parent also copies it down to children. Obvious, Just because you didn't set any primary property for child elements. So by default its taking that property as primary ,
ul#list > li
text-transform: uppercase;
ul#list li
text-transform: none;
ul#list>li
text-transform: uppercase;
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.1.1</li>
<li>Item 1.2.1</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>ul#list li
text-transform: none;
ul#list>li
text-transform: uppercase;
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.1.1</li>
<li>Item 1.2.1</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>ul#list li
text-transform: none;
ul#list>li
text-transform: uppercase;
<ul id="list">
<li>Item 1
<ul>
<li>Item 1.1</li>
<li>Item 1.2
<ul>
<li>Item 1.1.1</li>
<li>Item 1.2.1</li>
</ul>
</li>
</ul>
</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>edited Nov 10 at 7:11
Salman A
173k66331419
173k66331419
answered Nov 10 at 7:05
codesayan
1,240517
1,240517
add a comment |
add a comment |
up vote
1
down vote
This is because you did not specify any NORMAL CSS for <li>
You can simply achieve this by above ul#list > li
li
text-transform: none;
Please refer to this for details:
https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
add a comment |
up vote
1
down vote
This is because you did not specify any NORMAL CSS for <li>
You can simply achieve this by above ul#list > li
li
text-transform: none;
Please refer to this for details:
https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
add a comment |
up vote
1
down vote
up vote
1
down vote
This is because you did not specify any NORMAL CSS for <li>
You can simply achieve this by above ul#list > li
li
text-transform: none;
Please refer to this for details:
https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
This is because you did not specify any NORMAL CSS for <li>
You can simply achieve this by above ul#list > li
li
text-transform: none;
Please refer to this for details:
https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
answered Nov 10 at 7:16
Delowar Hossain
67113
67113
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53236691%2fcss-child-selector-behaves-like-a-descendant-selector%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown