2012-07-19 2 views
3
내가 정의 에 조건부 !important 문자열을 추가 할

에서 중요한 라인을 복제하지 않고 ... 내가 지금까지 왔어요 가장 가까운이입니다!어떻게 조건부 추가 스타일러스

fontSize(size, isImportant = false) 
    importantString="" 
    if isImportant 
    importantString = !important 

    font-size unit(size, 'px') importantString 
    font-size unit(size/10, 'rem') importantString 

importantString=""이 실제로 ""을 삽입하고 할당을 제거하면 정의되지 않은 경우 실제로는 importantString이 인쇄되기 때문에 작동하지 않습니다.

가장 좋은 방법은 될 것 같은 뭔가 :

font-size unit(size, 'px') if isImportant !important 

하지만이 방법을 사용할 수없는 것 같아요.

답변

2

귀하의 질문에 응답 - 당신은 그냥 importantString에 대한 따옴표 주위 unquote()을 사용할 수 있습니다, 그래서 더 important 아무것도 출력이없는 것인지.

과 같을 것이다 그 : 그러나

fontSize(size, isImportant = false) 
    importantString = isImportant ? !important : unquote("") 

    font-size unit(size, 'px') importantString 
    font-size unit(size/10, 'rem') importantString 

! 당신이 나 한테 물어 더라면, 나는 다른 무언가를 할 것을 권 해드립니다 -이 같은 font-size에 대한 투명한 믹스 인을 : 당신이 일반 font-size을 사용할 수 있습니다로 믹스 인을 투명하게 사용될 수 있음을

font-size(size, args...) 
    $rem_ratio = 10 if not $rem_ratio is defined 
    if unit(size) == 'rem' 
    font-size unit(size * $rem_ratio, 'px') args 
    font-size size args 
    else if unit(size) == '' 
    font-size unit(size, 'px') args 
    font-size unit(size/$rem_ratio, 'rem') args 
    else 
    font-size arguments 

.

.foo 
    font-size 1rem 

.bar 
    font-size 10 

당신이 rem 장치를 사용할 수 있습니다, 대체 픽셀로 번역, 또는 단위없는 수를 사용하는 것, 당신이되고 그것을 원으로 번역 될 것이다 : 더욱, 그것을 사용하는 방법에는 두 가지가 있습니다 귀하의 질문에. 그리고 그 중요성은 보존 될 것이고 $rem_ratio 변수를 사용하여 얼마나 많은 픽셀이 하나의 픽셀에 존재하는지 선언 할 수있는 방법을 가지고 있습니다. rem

즐기십시오!"디스플레이"에서

1

는 청소기 해결책이있을 수 있습니다,하지만 난 뭔가를 선택하는 것입니다 :

fontSize(size, isImportant = false) 
    if isImportant 
    font-size unit(size, 'px') !important 
    font-size unit(size/10, 'rem') !important 
    else 
    font-size unit(size, 'px') 
    font-size unit(size/10, 'rem') 

업데이트 : 대체 솔루션을 사용하여 나머지 매개 변수 :

fontSize(size, args...) 
    font-size unit(size, 'px') args 
    font-size unit(size/10, 'rem') args 

사용법 :

p 
    fontSize(12, !important) 

h1 
    fontSize(14) 

업데이트 : 명명 된 인수, 아마도 더 좋은 :

fontSize(size, important = null) 
    font-size unit(size, 'px') important 
    font-size unit(size/10, 'rem') important 
+0

컴파일 나는 구현이 솔루션이 없었 하나의 청소기를 원했다. 나는 그 질문에 그것을 명시 할 것이다. 답장을 보내 주셔서 감사합니다. – enyo

0

스타일러스

display block !important 

CSS는

display:block 
0
display(arg = '') 
    if arg == 'inline-block' 
     display arg 
     zoom 1 
     *display inline 
    else if arg == 'box' 
     display -moz-box 
     display -webkit-box 
     display box 
    else 
     display arg 
+1

REVIEW : 귀하의 솔루션에 대한 설명을 주시면 감사하겠습니다. – ElmoVanKielmo

관련 문제