Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] problem z fist-child
Forum PHP.pl > Forum > Przedszkole
no-scared
mam sobie stronę http://vanilagroup.com/wiadomosci/index.php?section=news

i teraz z z pierwszego elementu (li) każdej listy chciałbym usunąć pointer (kropkę) oraz pogrubić tekst, jak to zrobić za pomocą first-child?

Jak dodaję takie coś do style.css:

  1. ul:first-child {
  2. list-style-type: none;
  3. }


to nie działa i nie wiem czemu
erix
Kropka jest nadawana dla LISTY, a nie dla jej elementów.

Rozwiązaniem byłoby nadanie kropki jako tła dla LI, potem:
  1. li:first-child { font-weight: bold; background: none; }
no-scared
jak nie dla listy? przeciez dla dowolnego elementu mogę sobie ustawić:

  1. <li style="list-style-type: none">cos</li>


i tak by to zadziałało, ale ja chcę to zrobić za pomocą CSS bardziej uniwersalnie, czyli próbuję kombinować z first-child.

Jak to zrobić?

Poza tym jak bym zrobił tak jak mowisz to by mi pierwsze dziecko z kazdego li pogrubilo, a ja chce pogrubic tylko pierwszy li z calej listy ul
erix
Cytat
Poza tym jak bym zrobił tak jak mowisz to by mi pierwsze dziecko z kazdego li pogrubilo, a ja chce pogrubic tylko pierwszy li z calej listy ul

http://www.w3schools.com/css/pr_pseudo_first-child.asp

Pytania?
no-scared
Nie. Zagiąłeś moją niewiedzę winksmiley.jpg

Jednak mam pytanie... dodaję regułę do style.css:

  1. li:first-child {
  2. font-weight: bold;
  3. }


ale nie wiem czemu nie działa. w firebugu reguła jest przekreślona, ale nie wiem czemu.
tomm
może być nadpisana przez jakąś bardziej szczegółową regółę,zrób dla próby font-weight: bold !important; i zobacz czy zadziała
no-scared
już próbowałem, nie działa
erix
Pokaż cały CSS.
no-scared
Ok, z tym jakoś udało mi się rozwiązać problem, ale teraz jest inny:

w Mozilli jest wszystko ok, ale nie wiem czemu w IE nie pokazują się kropki dla li i w niektórych miejscach się pogrubiają 2 li zamiast 1

CSS wygląda tak:

  1. @import url('reset.css');
  2.  
  3. body {
  4. background-color: #E5ECF4;
  5. }
  6.  
  7. a, a:link, a:active, a:visited, a:hover {
  8. color: #018AD8;
  9. font-family: Arial;
  10. font-size: 13px;
  11. text-decoration: none;
  12. font-weight: lighter;
  13. }
  14.  
  15. a:hover {
  16. text-decoration: underline;
  17. }
  18.  
  19. #mainDiv {
  20. margin-left: auto;
  21. margin-right: auto;
  22. width: 1200px;
  23. }
  24.  
  25. #navigationBar {
  26. width: 100%;
  27. height: 35px;
  28. background-color: #B70002;
  29. }
  30.  
  31. #navigationElements {
  32. margin-left: auto;
  33. margin-right: auto;
  34. width: 1080px;
  35. color: white;
  36. height: 100%;
  37. list-style-type: none;
  38. }
  39.  
  40. #navigationElements li, #navigationElements li a, #navigationElements li a:link, #navigationElements li a:active, #navigationElements li a:visited, #navigationElements li a:hover {
  41. color: white;
  42. font-weight: bold;
  43. font-size: 14px;
  44. width: 135px;
  45. float: left;
  46. font-family: Arial;
  47. text-align: center;
  48. padding-top: 3px;
  49. }
  50.  
  51. #navigationElements li a:hover {
  52. text-decoration: underline;
  53. }
  54.  
  55. #top {
  56. margin-top: 10px;
  57. width: 1200px;
  58. height: 136px;
  59. background-color: red;
  60. }
  61.  
  62. #newsDiv {
  63. width: 1152px;
  64. background-color: white;
  65. margin-top: 10px;
  66. padding-top: 56px;
  67. padding-bottom: 56px;
  68. padding-left:22px;
  69. padding-right: 22px;
  70. }
  71.  
  72. .newsListDiv {
  73. width: 315px;
  74. height: 500px;
  75. margin: 7px 13px;
  76. border-style: solid;
  77. border-color: #C6C6C6;
  78. border-width: 1px;
  79. padding: 24px 20px;
  80. float: left;
  81. overflow: hidden;
  82. }
  83.  
  84. #newsDiv ul {
  85. color: #909495;
  86. width: 100%;
  87. margin-top: 7px;
  88. }
  89.  
  90. #newsDiv ul:first-child {
  91. list-style-type: none;
  92. }
  93.  
  94. #newsDiv ul li {
  95. list-style-type: disc;
  96. margin-top: 5px;
  97. margin-bottom: 5px;
  98. clear: left;
  99. }
  100.  
  101. ul li span {
  102. color: #018AD8;
  103. font-family: Arial;
  104. font-size: 13px;
  105. }
  106.  
  107. ul li img {
  108. float: left;
  109. }
  110.  
  111. .newsSource {
  112. background-image: url('images/titleBackground.jpg');
  113. background-repeat: repeat-x;
  114. text-align: center;
  115. width: 100%;
  116. height: 23px;
  117. font-family: Arial;
  118. font-size: 15px;
  119. text-transform: uppercase;
  120. color: white;
  121. display: block;
  122. padding-top: 3px;
  123. }
  124.  
  125. .newsSource a, .newsSource a:link, .newsSource a:visited, .newsSource a:hover, .newsSource a:active {
  126. font-family: Arial;
  127. font-size: 15px;
  128. text-transform: uppercase;
  129. color: white;
  130. }
  131.  
  132. li:first-child a, li:first-child a:link, li:first-child a:hover, li:first-child a:visited, li:first-child a:active {
  133. font-weight: bold !important;
  134. }
  135.  
  136. li:first-child {
  137. list-style-type: none !important;
  138. }


DOCTYPE jest zadeklarowany
erix
Zapomnij o first-child w większości wersji IE.
Pawel_W
Cytat(erix @ 22.07.2010, 11:05:52 ) *
Zapomnij o first-child w większości wersji IE.

no, na siłę można stosować http://code.google.com/p/ie7-js/ winksmiley.jpg
no-scared
Skoro mam zapomnieć o first-child to po co ono jest? I najważniejsze... to co mam zrobić żeby działało pod każdą przzeglądarką?

W takim razie chociaż jak zrobić żeby te kropki do listy się wyświetlały w IE?
Pawel_W
Cytat(no-scared @ 22.07.2010, 11:16:32 ) *
Skoro mam zapomnieć o first-child to po co ono jest?

to, że coś istnieje nie oznacza, że wszyscy się do tego stosują... a IE słynie z tego, że odbiega od standardów smile.gif

Cytat(no-scared @ 22.07.2010, 11:16:32 ) *
I najważniejsze... to co mam zrobić żeby działało pod każdą przzeglądarką?

nadaj ręcznie klasę, np. ".first"
erix
Albo, gdy masz już klasę, posłuż się pewnym diabelskim trickiem:
  1. li
  2. { -patch: expression((function(obj){
  3. if(!obj.parsed){
  4. obj.parentNode.childNodes[0].className = 'first';
  5.  
  6. obj.parsed = true;
  7. }} )(this) , 'auto');
  8. }
no-scared
@erix, a można spytać co to jest? bo nie wygląda mi to ani jak CSS ani jak JS tongue.gif

Czy to działa w ten sposob, że jak uzyję tego w kodzie to każde pierwsze li z każdej listy zostanie przypisany klasie .first?
erix
To jest CSS dla IE. tongue.gif

Google: expression. I wygląda jak CSS, tylko musisz poczytać i wszystko stanie się jasne.

Cytat
Czy to działa w ten sposob, że jak uzyję tego w kodzie to każde pierwsze li z każdej listy zostanie przypisany klasie .first?

A jeśli spróbujesz, to komp Cię wciągnie do środka i pożre?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.