2015-05-23 2 views
0

DemoВыравнивание содержимого внутри закругленного DIV

.subject_container 
{ 
    width: 200px; 
    height: 250px; 
    border: 1px solid #eee; 
    display: table-cell; 
} 

.subject 
{ 
    border-radius: 50%; 
    border: 1px solid #653; 
    width: 175px; 
    height: 175px; 
    margin: auto; 
    margin-top: 25%; 
    position: relative; 
} 

.subject div 
{ 
    text-align: center; 
    } 

Я понимаю, что мое содержание AB DE VILLIERS/IKER CASSILAS внутри .subject Див только. Но я использую border-radius:50%, чтобы сделать мой div круговым. Как я могу разместить свой контент внутри своего кругового div? Я хочу, чтобы решения работали, даже если я изменяю размер моего div.

Любые предложения?

+0

Изменить размер текста так, чтобы он припадки круговых дел. –

+0

Можете уточнить свой вопрос. Я не совсем понимаю, что вы спрашиваете. – magreenberg

+0

Что вы подразумеваете под размер? 'Шрифта size'? –

ответ

1

Вам нужно добавить высоту строки в .subject и установить его на ту же ширину и высота вашего .subject. Затем вам нужно обернуть свой контент внутри вашего .subject другим div. Затем примените следующий CSS к нему:

.subject_wrapper 
{ 
    line-height: normal; 
    display: inline-block; 
    vertical-align: middle; 
} 

jsFiddle Пример: here

EDIT: Если вы хотите, чтобы размер шрифта, чтобы изменить, если текст пытается переполнить, вы должны использовать JavaScript. Пример пост о том, как это сделать: Auto-size dynamic text to fill fixed size container

EDIT 2: Если вы просто хотите переполнения: скрытый; применяется к чему-либо вне круга, просто добавляйте переполнение: hidden; к объекту.

Пример: http://jsfiddle.net/trLhdj4e/3/

+0

[Content overlows] (http://jsfiddle.net/GopsAB/trLhdj4e/2/) –

+0

Проверьте изменения, теперь они должны работать нормально. – KingCodeFish

+0

Спасибо, человек. Плюс1. он работает –

1

Попробуйте:

.subject div 
{ 
    text-align: center; 
    position:relative; 
    top:50%;  
} 
+0

Nooo. Установите верхнюю 20% и попробуйте в этой скрипке. [См. Это] (http://jsfiddle.net/GopsAB/e4b3kd3k/5/) –

+0

Должен ли текст находиться в центре круга или квадрата? – Sagar

+0

Циркуляр div Человек. –

1

Вам нужно обернуть subject_name и subject_completion в новом дел. Итак, примените абсолютный центр к этому div. Для этого добавьте стили последующих к новому DIV:

.wrapper { 
    position: absolute; 
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0; 
    margin: auto; 
} 

Кроме того, вы должны declarate высоту и ширину для .wrapper, если вам это нужно.

+0

Лучший подход. [Проблема] (https://jsfiddle.net/GopsAB/e4b3kd3k/10/) Переполнение: скрыто не работает. Как скрыть его, если он выходит за пределы оболочки –

+0

overflow: hidden должен быть объявлен в контейнере (.subject в вашем случае) не в новой обертке. И работает отлично. –

+0

plus1 Это работает Человек –

1

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

.subject div 
{ 
    display: table-cell; 
    text-align: center; 
    vertical-align:middle; 
    height: 175px; 
} 

Demo

С overflow:hidden;

Demo

+0

Привет, мне нравится ваш подход. Дело в том, что я просто воспроизвел содержимое div. Когда он увеличивается, я w скрываю его 'overflow: hidden' или что-то еще. Поскольку он выходит из кругового div. [Проблема] (https: // jsfiddle.net/GopsAB/e4b3kd3k/9 /) –

+0

@GopsAB Затем добавьте класс 'overflow: hidden;' в '.subject'. –

+0

Спасибо Это работает. plus1 –

Смежные вопросы