SASS: ширина: 100% - 20 пикселей - это возможно? - PullRequest
4 голосов
/ 14 ноября 2011

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

если:

width:100%; 

и

padding: 20px; 

=

100% - 40px ?  

Ответы [ 4 ]

12 голосов
/ 14 ноября 2011

Вы можете использовать box-sizing: border-box, чтобы padding считался частью width.

div {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

Вот быстрая демонстрация: http://jsfiddle.net/thirtydot/DNs2u/

Дополнительная информация:

6 голосов
/ 17 мая 2017
width: calc(100% - 40px);

больше calc () использует: CSS-хитрости: пара примеров использования Calc ()

1 голос
/ 14 ноября 2011

Это невозможно с sass

Это возможно с помощью JavaScript.

$('#element').width($(window).width() - 40)
1 голос
/ 14 ноября 2011

Нет, к сожалению.Поскольку SASS компилируется на сервере в простой CSS, а CSS визуализируется клиентом, вы не можете получить этот эффект с помощью SASS.Другими словами, только когда браузер интерпретирует CSS, вы узнаете, что такое 100%, и это долго после того, как у SASS была возможность скомпилировать.на стороне сервера на уровне пикселей, перед визуализацией страницы, на самом деле единственный способ сделать это - иметь компоновку с фиксированной шириной.Многие сайты делают это - как, например, этот, - поэтому я бы посмотрел на это как на вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...