2016-01-26 4 views
0

Карта:Sass удалить ключ карты внутри Mixin

$map-breakpoints: (
    xs: (
    min-width: 0, 
    max-width: 480px 
), 
    sm: (
    min-width: 481px, 
    max-width: 750px 
), 
    md: (
    min-width: 751px, 
    max-width: 1170px 
) 
) !default; 

подмешать:

@mixin example($map: $map-breakpoints) { 
    // i want remove map key `md`, i dont need map key `md` in this mixin 
} 

Как удалить ключ карты внутри Mixin как выше?

Спасибо.

ответ

1

Вы можете посмотреть на карте Sass functions. Существует функция map-remove, которая возвращает новый список без переданных ключей. Пример:

map-remove($map-breakpoints, (md, sm)) 

В примере удаляются как md, так и ключи sm (с их значениями) из итоговой карты.

+0

Удивительный, этот ответ работает, просто хочу узнать больше информации, может ли быть удалено 'except' некоторый ключ, например удалить все ключи, кроме' md', что-то вроде этого? большое спасибо. – aboutjquery

+2

Удаление всего, кроме одного элемента, немного сложнее. Я бы сказал, что было бы проще (и чище) просто выбрать элемент, который вы хотите использовать на карте, непосредственно используя: 'map-get ($ my-map, wanted-element)' – irundaia

+0

Просто попытался использовать map- удалить со списком во втором аргументе и посмотреть, что он не работает. https://www.sassmeister.com/gist/f543bb4b54b558bd9b77ebd5c60960c6 –

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