2011-12-27 3 views
9

У меня есть div, который я позиционирую с отрицательным отрывом, но я бы хотел, чтобы он простирался вплоть до нижней части контейнера div, поэтому я могу использовать границу, которая не просто заканчивается случайным образом. Если вы посмотрите на http://kineticaid.com/k/home.php, вы поймете, что я имею в виду. Я не могу просто увеличить его высоту в пикселях, потому что высота контейнера div динамически изменяется со страницами. То, что я хочу сделать что-то вроде этого:Есть ли способ добавить и вычитать значения в CSS?

#rightcol { 
float: right; 
width: 225px; 

height: 100% + 250px; 

margin: -325px -25px 0 0; 
} 

В основном я спрашиваю, если вы можете складывать и вычитать в CSS. Благодаря!

+2

Есть CSS препроцессора, как LESS или SASS, добавляющие такую ​​возможность, но я не совсем уверен, что это то, что вы просите. –

+0

Я думаю, что я просто ищу способ комбинировать пиксели и проценты в одной и той же инструкции CSS, если это возможно. – Brad

+1

Проверьте этот вопрос http://stackoverflow.com/questions/527861/value-calculation-for-css Может быть, вы можете использовать Javascript ... – Nalaka526

ответ

0

Sass и меньше имеют аналогичные функции и то, что вам нужно, но я думаю, что ваши просьбы должны быть выполнены с помощью javascript или jquery для выполнения ваших расчетов.

http://api.jquery.com/height/

0

Решение этой проблемы является "Faux Columns", но вы должны изменить макет немного для этого.

+0

Это хорошо, но это потребует использования Photoshop, который на самом деле не вверх по моей переулке: p – Brad

+0

Просто потому, что умение не «вверх по вашей аллее» не мешает ему быть хорошим решением. Основное редактирование изображений - довольно важный разработчик веб-разработчиков. – Gareth

+0

Ну, это тоже не то, о чем я просил. Мне было интересно, есть ли у CSS встроенная возможность добавлять и вычитать значения разных типов. Это хорошее решение. – Brad

20

Да. CSS3 имеет функцию calc(). Это работает в текущих версиях большинства браузеров (http://caniuse.com/calc).

height: calc(100% + 250px); 

Демо:jsFiddle

HTML:

<div id="one"></div> 
<div id="two"></div> 

CSS:

div { 
    border: 1px solid red; 
    height: 100px; 
} 

#one { 
    width: calc(50% + 20px); 
} 

#two { 
    width: 50%; 
} 

Выход:

enter image description here

+0

Спасибо, я посмотрю. Приятно знать, что такие вещи были включены в CSS3. – Brad

+0

есть также префикс поставщика webkit – Burntime

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