Проблема макета нижнего колонтитула CSS - PullRequest
3 голосов
/ 10 мая 2011

Я пытаюсь создать кросс-браузерный нижний колонтитул из 3 столбцов, ширина которого равна друг другу, но не превышает ширину основного тела в 900 пикселей.Этот код этого не делает ??

html
<div id="footer">
    <p class="left">About<br />Contact<br />Next line here</p>
    <p class="right"> does not evaluate or guarantee the accuracy</p>
<p class="centered">Terms<br />Privacy<br />Disclaimer</p>
</div>

css
 #footer  {
  color: #ffffff;
  width:100%;
  background: #111;
  clear: both;
  overflow: auto;   
   } 

.left {
text-align:left;
float:left;
}

.right{
float:right;
text-align:right;
}

.centered{
text-align:center;
}  

Ответы [ 4 ]

1 голос
/ 10 мая 2011

html

>   <div id="footer">
>         <p class="left">About<br />Contact<br />Next line here</p>
>         <p class="centered">Terms<br />Privacy<br />Disclaimer</p>
>         <p class="right"> does not evaluate or guarantee the accuracy</p>
>     
>     </div>
>     
>     css
>      #footer  {
>       color: #ffffff;
>       width:100%;
>       background: #111;
>       clear: both;
>       overflow: auto;   
>        } 
>     
>     .left {
>     text-align:left;
>     float:left;
>     }
>         .centered{
>     text-align:center;
>     float:left;  }
> 
>     .right{
>     float:left;
>     text-align:right;
>     }

просто добавьте число с плавающей запятой в каждом столбце, а затем расположите divпосмотреть, если это работает

1 голос
/ 10 мая 2011

Самое простое решение, которое я вижу, с вашей текущей наценкой:

#footer {
    width: 900px;
}
#footer > p {
    width: 30%;
    display: block;
    float: left;
}

p:nth-child(odd) {
    background-color: #ccc;
}

JS Fiddle demo .

<ч /> Отредактировано , чтобы предложить небольшую ревизию, так как ваш нижний колонтитул div выглядит как список ссылок на другой контент, я бы предложил изменить вашу разметку со следующим в качестве рекомендуемого руководства:

<div id="footer">
    <ul>
        <li>menu one
            <ul>
                <li>About</li>
                <li>Contact</li>
                <li>Next line here</li>
            </ul></li>
        <li>menu two
            <ul>
                <li>Does not evaluate, or guarantee the accuracy</li>
            </ul></li>
        <li>menu three
            <ul>
                <li>Terms</li>
                <li>Privacy</li>
                <li>Disclaimer</li>
            </ul></li>
    </ul>
</div>

И CSS:

#footer {
    width: 900px;
    overflow: hidden;
}

#footer > ul {
    width: 100%;
}

#footer > ul > li {
    width: 30%;
    display: block;
    float: left;
    font-weight: bold;
}

#footer > ul > li > ul {
    font-weight: normal;
}

Демонстрация JS Fiddle .

1 голос
/ 10 мая 2011

Попробуйте это:

    <div id="footer">
    <div class="left">About<br />Contact<br />Next line here</div>
    <div class="right"> does not evaluate or guarantee the accuracy</div>
<div class="centered">Terms<br />Privacy<br />Disclaimer</div>
</div>

для вашего htmll, и это для ваших стилей:

#footer  {
  color: #ffffff;
  width:100%;
  background: #111;
 overflow: auto;   
   } 
#footer div {
 width:33%;   
}
.left {
text-align:center;
float:left;
}

.right{
float:right;
text-align:center;
}

.centered{
text-align:center;
    float:left;
}  

Как показано в этой скрипке: http://jsfiddle.net/kLqZP/9/

0 голосов
/ 10 мая 2011

Если вы разместите свои <p>, они будут брать ширину из своего содержимого, они не будут иметь одинаковый размер. И, кстати, div s может быть лучшим вариантом для этой задачи, чем <p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...