2010-05-12 12 views
8

Po uzyskaniu porady w The 6 Most Important CSS Techniques You Need To Know, ustawiam body font-size na 62.5%,div na container div (niewielkie zmiany w artykule). p.tags i p.published 's font-size jest ustawiony na 1em.Jak nie działa tutaj rozmiar czcionki?

To jednak nie działa dla mnie. Zarówno normalny tekst, jak i tekst w jednostkach p.tags i p.published ma taki sam rozmiar (16,8 piksela, jak obliczono w Firebug). Czy możesz wyjaśnić, dlaczego mój kod nie działa? Testuję w Firefoksie 3.6.3. sample page pokazany przez autora działa dobrze w tej samej przeglądarce.

Powtórzyłem całą stronę poniżej - przepraszam za jej długość, ale pomyślałem, że lepiej nie zostawiać niczego.

<html> 
     <head> 
       <title>Title</title> 
       <style type="text/css"> 
         body { 
           font-family: Georgia, "Century Schoolbook", "Times New Roman", Serif; 
           font-size: 62.5%; 
           background-color: #2B3856; /* Dark slate blue */ 
         } 
         h1, h2, h3, h4, h5, h6 { 
           font-family: Verdana, Helvetica, Tahoma, "Sans Serif"; 
           color: #2B3856; 
           margin-top: 2px; 
         } 
         h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { 
           text-decoration: none; 
           color: #2B3856; 
         } 
         h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { 
           text-decoration: underline; 
         } 
         div#container { 
           width: 800px; 
           font-size: 1.4em; 
           margin: 5px auto; 
           background-color: #E3E4FA; /* Lavender */ 
         } 
         #sidebar { 
           width: 200px; 
           float: right; 
           margin: 0px; 
           padding: 0px; 
         } 
         #sidebar div { 
           padding: 0 5px 5px; 
         } 
         #sidebar div.shadowbox { margin-right: 5px; } 
         #content { 
           width: 600px; 
           float: left; 
           margin: 0px; 
           padding: 0px; 
         } 
         #header { 
           /*background-color: white;*/ 
           background-color: #2B3856; /* #E3E4FA; Lavender */ 
           margin-bottom: 5px; 
           height: 100px; 
         } 
         #header h1 { 
           color: #B93B8F; /* Plum */ 
           line-height: 100px; 
           text-align: center; 
           font-size: 45px; 
         } 
         #description { 
           color: #7D1B7E /* Dark Orchid */ 
         } 
         a { 
           text-decoration: underline; 
           color: #153E7E; 
         } 
         a:hover { 
           text-decoration: none; 
         } 
         div#posts { 
           padding: 0px; 
           font-size: 1.2em; 
           margin: 0px; 
         } 
         div#posts div.post { 
           padding: 5px; 
           margin: 0px 5px 15px 5px; 
         } 
         p.tags, p.published { 
           font-size: 1em; 
         } 
         .shadowbox { 
           background: repeat 0 0 url('http://www.jawsalgorhythmics.com/images/darkness-100x100-10pct.png'); 
         } 
         .justifycenter { text-align: center; } 
         .floatright { float:right; } 
         .floatleft { float: left; } 
         .clearright { clear: right; } 
         .clearleft { clear:left; } 
         .clearboth { clear: both; } 
         .halfsidebarwidth { width: 82px; } 
       </style> 
     </head> 
     <body> 
       <div id="container"> 
         <div id="header"> 
           <h1>Odds 'n Ends</h1> 
         </div> <!-- header --> 

         <div id="sidebar"> 
           <div class="shadowbox"> 
             <br /><p class="justifycenter"><img width="64" height="64" src="{PortraitURL-64}" /></p> 

             <div class="floatleft halfsidebarwidth"><a href="/archive" class="archive">Archives</a></div> 
             <div class="floatleft halfsidebarwidth"><a href="{RSS}" class="rss">RSS</a></div> 
             <div class="clearboth"></div> 
           </div> 
         </div> <!-- sidebar --> 

         <div id="content"> 
           <div id="posts"> 

               <div class="post shadowbox"> 
                   <span class="quote"> 
                     "It does not matter how slow you go so long as you do not stop." 

                     <div class="source">Wisdom of <a href="#" title="http://en.wikipedia.org/wiki/Confucius">Confucius</a></div> 
                   </span> 
                 <p class="tags">Tags: #<a href="#" title="http://demo.tumblr.com/tagged/wisdom">wisdom</a>&nbsp; </p> 

                 <p class="published">Posted: Nov 08, 2006 at 2:27 pm 
                   &nbsp;&nbsp;<a href="#" title="http://demo.tumblr.com/post/236/it-does-not-matter-how-slow-you-go-so-long-as-you">Permalink</a>&nbsp;&nbsp; <a href="#" title="http://tumblr.com/xr06k">Short URL</a></p> 
               </div> 

           </div> <!-- posts --> 
         </div> <!-- content --> 

         <div class="clearboth"></div> 

         <div id="footer" style="text-align: justify;"> 
           <h1>The footer</h1> 
         </div> 
       </div> <!-- container --> 
     </body> 
</html> 
+1

Użyj tego zamiast umieszczać całą listę HTML: http://jsfiddle.net/JYfqL/. – Kyle

+2

To wydaje mi się bezsensowną i prawdopodobnie niewłaściwą "techniką" dla mnie. Oświadczenia takie jak "Ustawiając rozmiar czcionki ciała na 62,5%, który ustawi rozmiar czcionki na 10 pikseli" są nieprawidłowe i nie widzę sposobu, w jaki projektowanie stron internetowych będzie łatwiejsze lub inne. To tylko prowadzi do problemów, które masz. – RoToRa

Odpowiedz

9

Twoje <p class="tags"> i <p class="published"> elementy są wewnątrz container div, który ma rozmiar czcionki 1.4em, a także wewnątrz w posts div, który ma rozmiar czcionki 1.2em. Myślę, że ustawienie rozmiaru czcionki akapitów na 1em tak naprawdę nic nie robi, ponieważ jednostka em kumuluje się. Więc jeśli rozmiar czcionki "root" wynosi 62,5%, zostanie zwiększony o 40% dla pierwszego elementu div i zwiększony o kolejne 20% dla drugiego elementu div. Te dwa akapity będą również miały ten rozmiar czcionki, ponieważ nie zwiększają ani nie zmniejszają rozmiaru.

Zasadniczo, jeśli chcesz, aby akapity "znaczniki" i "opublikowane" miały mniejszy tekst, podaj rozmiar mniejszy niż jeden, np. 0.9em. To da im rozmiar o 10% mniejszy niż inne elementy w tym samym dziale rodzicielskim.

+0

Masz rację, oczywiście !!!! To było naprawdę głupie - rozmiar em jest związany z przodkiem (przodkami) - wszystkie z nich !!! Więc oczywiście efekt jest kumulatywny. Dzięki! – markvgti

1

Graham miał rację, ja ustawiłem;

p.tags, p.published { 
    font-size: 0.5em; 
} 

I to zmieniło rozmiar czcionki. Updated Jsfiddle her e.

EM jest obliczana na podstawie rozmiaru bazowego czcionki ciała. Look here, aby uzyskać wyjaśnienie, jak to działa :)

+0

Dzięki za link do artykułu. – markvgti

+0

Nie ma problemu :) Mam nadzieję, że to pomaga. – Kyle