2013-04-21 3 views
4

Я пытался выровнять содержимое #referul в центре экрана с помощью CSS.Как выровнять содержимое тега ul в центре

<div id="refer" style="border:1px solid red"> 
    <ul> 
     <li><a href="#" class="circlelink">One</a> 
     </li> 
     <li><a href="#" class="circlelink">Two</a> 
     </li> 
     <li><a href="#" class="circlelink">Three</a> 
     </li> 
    </ul> 
</div> 



.circlelink { 
    display:block; 
    width:100px; 
    height:100px; 
    border-radius:50px; 
    font-size:20px; 
    color:#fff; 
    line-height:100px; 
    text-align:center; 
    text-decoration:none; 
    background:linear-gradient(to bottom, #719ECE, #719FCE); 
} 

.circlelink:hover { 
    text-decoration:none; 
    background:#719ECE; 
    box-shadow: 0 0 8px rgba(0, 0, 0, .8); 
    -webkit-transform: scale(1.05, 1.07); 
    -moz-transform: scale(1.05, 1.07); 
} 

#refer { 
    position:absolute; 
    top:20%; 
    width:100%; 
    margin-left:auto; 
    margin-right:auto; 
} 

#refer ul { 
    clear:both; 
    margin: 0; 
    padding: 0; 
} 

#refer ul li { 
    display:block; 
    position: relative; 
    float: left; 
    height: auto; 
    width: 200px; 
    padding: 0; 
    margin-left: 10px; 
    list-style: none; 
    text-align: center; 
    white-space: nowrap; 
} 

Fiddle

ответ

6

Это работало для меня в своей скрипкой:

* { 
    padding:0; 
    margin:0; 
} 
#refer { 
    margin:20% 0 0; 
    width:100%; 
    /* 
    position:absolute; 
    top:20%; 
    width:100%; 
    margin-left:auto; 
    margin-right:auto; 
    */ 
} 
#refer ul { 
    text-align:center; 
    /* 
    clear:both; 
    margin: 0; 
    padding: 0; 
    */ 
} 
#refer ul li { 
    display:inline-block; 
    position: relative; 
    /* float: left; */ 
    height: auto; 
    width: 100px; 
    padding: 0; 
    margin:0 50px; 
    list-style: none; 
    text-align: center; 
    white-space: nowrap; 
    border:#0f0 solid 1px; 
} 
.circlelink { 
    display:block; 
    width:100px; 
    height:100px; 
    border-radius:50px; 
    font-size:20px; 
    color:#fff; 
    line-height:100px; 
    text-align:center; 
    text-decoration:none; 
    background:linear-gradient(to bottom, #719ECE, #719FCE); 
} 
.circlelink:hover { 
    text-decoration:none; 
    background:#719ECE; 
    box-shadow: 0 0 8px rgba(0, 0, 0, .8); 
    -webkit-transform: scale(1.05, 1.07); 
    -moz-transform: scale(1.05, 1.07); 
} 
+1

Спасибо, все решения работают. Моя страница снова поднята. – unkn0wn

+0

Этот день сделал мой день !!! У меня был ** - webkit-margin-before: 1em ** в элементе rhis css, и он не работал! Благодаря !!! –

0

Here it is

.circlelink { 

    display:block; 

    width:100px; 

    height:100px; 

    border-radius:50px; 

    font-size:20px; 

    color:#fff; 

    line-height:100px; 

    text-align:center; 

    text-decoration:none; 

    background:linear-gradient(to bottom, #719ECE, #719FCE); 

} 

.circlelink:hover { 

    text-decoration:none; 

    background:#719ECE; 

    box-shadow: 0 0 8px rgba(0, 0, 0, .8); 

    -webkit-transform: scale(1.05, 1.07); 

    -moz-transform: scale(1.05, 1.07); 

} 

#refer { 

    position:absolute; 

    top:20%; 

    width:100%; 

    margin-left:auto; 

    margin-right:auto; 
    text-align:center; 
} 

#refer ul { 

    clear:both; 

    margin: 0; 

    padding: 0; 

} 

#refer ul li { 

    display:inline-block; 

    position: relative; 

    height: auto; 

    width: 200px; 

    padding: 0; 

    margin-left: 10px; 

    list-style: none; 

    text-align: center; 

    white-space: nowrap; 

} 
+0

Спасибо, что ответили. Но все же контент не в полностью центре. Также он использует ширину> 100% на веб-странице. Не могли бы вы найти ошибку? – unkn0wn

+0

удалить ширину с #refer ul li –

3

код: jsfiddle

Все, что вам нужно сделать, это:

  1. Добавить text-align:center; в #refer ul
  2. Изменение display:block; в display:inline-block; в #refer ul li
  3. Удалить float:left; из #refer ul li

Кроме того, убедитесь, что #refer ul обеспечивают min-width, которые обеспечивают требуемую ширину для всей окружности, чтобы убедиться, что он не развалился, если окно браузера слишком маленький.

Кроме того, лучше удалить width с #refer ul li. Пусть содержание <a> указать ширину

+0

Отличный ответ, я могу использовать для своей проблемы и многое другое! – fermin

0

оборачивать ваш ул с сНу поможет

http://jsfiddle.net/ptMwH/11/ здесь проверить эту

<div id="refer" style="border:1px solid red"> 
    <div class="wrapper"> 
    <ul> 
     <li><a href="#" class="circlelink">One</a> 
     </li> 
     <li><a href="#" class="circlelink">Two</a> 
     </li> 
     <li><a href="#" class="circlelink">Three</a> 
     </li> 
    </ul> 
    </div> 
</div> 
Смежные вопросы