Прежде всего, с помощью margin: auto;
является не хак
И центрирования круг внутри круга, вы можете использовать методы позиционирования, как position: absolute;
. Здесь я использую position: absolute;
на внутренней окружности, чем задает top
и left
свойства со значением 50%
и чем я использую margin-top
и margin-left
и вычитать 1/2 от height
и width
.
Почему вычитается 32px
? Как я уже сказал, вычитают ровно половину от width
и , так что это также включает border
вашего элемента, который установлен в 2px
, что делает ваш элемент 64px
в height
и width
соответственно.
Для vertical-align
+
символ, я использую line-height
свойство, как я могу видеть только один символ, чтобы быть выровнены по вертикали (вы не сказали, но технически я могу предположить, что форма, которую вы ищете), в качестве альтернативы вы можете также использовать vertical-align: middle;
но вам необходимо установить элемент контейнера для display: table-cell;
Demo
Последнее, но не менее, вы должны гнездо span
тег внутри внутреннего круга div
.
.circle{
float: left;
position: relative;
width: 120px;
height: 120px;
border-radius: 50%;
border: 2px solid #DDD;
}
.inner{
text-align: center;
line-height: 60px;
position: absolute;
top: 50%;
margin-top: -31px;
left: 50%;
margin-left: -31px;
width: 60px;
height: 60px;
border-radius: 50%;
border: 2px solid #DDD;
}
почему без 'маржинальной auto'? – Praveen
- элементы, имеющие фиксированный размер? всегда 120px и 60px? –
какой части вы хотите в центре? знак «+» или внутренний круг или оба? – Hiral