2013-08-07 2 views
0

я эти две дивы:как сделать это Див изменяемыми

<div class="bubble"> 
    blablablabla 
<div class="arrow-left"></div> 
</div> 

.

.bubble{ 
    background-color:#156ac6; 
    padding: 15px 10px 10px 10px; 
    color: white; 
    font-family:Georgia; 
} 
.arrow-left { 
    position:relative; 
    top:42px; 
    right:0; 
    border-left: 42px solid transparent; 
    border-right: 0px solid transparent; 
    border-top: 42px solid #156ac6; 
    margin: 10px; 
} 

http://jsfiddle.net/jgWmM/

я хочу это быть гибким, например, если я изменяю размер браузера, он также должен уменьшаться в зависимости от ширины браузера. Я не хочу, чтобы медиа-запросы. просто css. как это возможно?

+0

Я не вижу ни одной таблицы в вашем коде, но скорее всего, вы должны использовать только проценты. –

+0

«например, если я изменяю размер таблицы», – nickf

+0

Я что-то упустил? Пузырь будет адаптироваться к контенту. Если у вас есть пробелы в тексте, он будет корректироваться? Однако он не будет _smaller_, чем самая длинная строка. Или я неправильно понял? – Benteh

ответ

1

Поскольку вы не установили ширины для этих div, они должны изменить размер в соответствии с браузером по умолчанию. Тем не менее, вы можете установить ширину в процентах, чтобы быть уверенным:

.bubble { width: 100%; } 
.arrow-left { width: 100%; } 

Также вам не нужно медиазапросы, чтобы сделать это, но медиа-запросы CSS.

0

использовать это может помочь

.bubble { 
    resize: none; 
} 
.arrow-left { 
    resize: none; 
} 
0

Попробуйте использовать проценты в ваших высот и/или ширины. Вы можете также использовать их в верхней части:

top: 10%; 
1

Если установить положение относительно на пузырьке. А затем положение абсолютное с дном -42px на стрелке и вправо 0px. Стрелка всегда будет в правом нижнем углу. Затем вы можете использовать проценты для ширины, а пузырь будет размером контейнера.

HTML

 <div class="bubble"> 
       blablablabla 
      <div class="arrow-left"></div> 
     </div>  

CSS

.bubble{ 
    background-color:#156ac6; 
    padding: 15px 10px 10px 10px; 
    color: white; 
    font-family:Georgia; 

    position:relative; 
    width:60%; 
} 
.arrow-left { 
    position:absolute; 
    bottom:-42px; 
    right:0; 
    border-left: 42px solid transparent; 
    border-right: 0px solid transparent; 
    border-top: 42px solid #156ac6; 
    margin: 10px; 
} 

http://jsfiddle.net/ySn36/

+0

работает как-то только в jsfiddle. не в браузере :(, почему это так? – doniyor

+0

В вашем примере у вас есть пузырь внутри таблицы. Таблица, как правило, будет размером с тем, что она содержит. Поэтому, если вы установите ширину пузыря, таблица будет обтекать ее, что приведет к ее не расширять. Попробуйте установить css таблицы в ширину: 100%, тогда пузырь будет составлять 60% от ширины таблиц. – mikes000

+0

спасибо, вы правы, теперь он работает, но пузырь как-то исправлен. при этом: bibago.de/test.html, если вы изменяете размер, позиция фиксирована и не уменьшается. Как я могу это сделать? – doniyor

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