모든 언어에서 변수를 사용하는 것과 같습니다. 원할 때마다 간단히 변경할 수 있습니다.
이제 당신은 생각할 수 있습니다. 그들은 결코 바뀌지 않을 것이지만, 앞으로는 약간의 변경을 원할 것입니다. 일부 CSS를 변경하여 다른 프로젝트로 옮길 수도 있습니다. 변수를 사용하면 잠깐 할 수 있습니다.
또 다른 예입니다. 당신은 그래서 당신이 그것을 변경 780px
에 #page
폭을 변경하기로 결정 지금
#page {
width: 800px;
}
#content {
width: 600px;
}
#sidebar {
width: 200px;
}
:의 당신이 CSS에 다음 코드를 가정 해 봅시다
#page {
width: 780px;
}
#content {
width: 600px;
}
#sidebar {
width: 200px;
}
을 지금 당신은 문제가 있다면 - 당신을 무엇이 잘못되었는지를 전체 파일에서 볼 필요가 있습니다 (실제 파일에서는 위와 같이 쉽지 않습니다). 당신이 할 수
변수 사용 :
@page-width: 800px
@content-width: 600px;
@sidebar-width: @page-width - @content-width;
그렇게 문제없이 값을 변경하거나 그 3 개 라인에 작은 수정을합니다.
그러나 질문의 예에서 나는 그렇게해야한다고 생각합니다.당신이 정의하는 경우 :
@Margin-10: 10px;
@Margin-12: 12px;
@Margin-19: 19px;
당신이 Margin-10
10 단위 마진 것을 기대하지만의 11 가정 해 봅시다에 대한 값을 변경하기로 결정하고, 당신은 할 수 있습니다
이
@Margin-10: 11px;
@Margin-12: 15px;
@Margin-19: 24px;
그것은 완전히 엉망을 만들 것입니다, 사실이 파일을 보더라도 변수가 Margin-10
이고 그 목적이 무엇인지 모르기 때문입니다. 이름에서 알 수있는 것보다 다른 가치를 지니고있어서 무엇을 기대해야할지 모르고 CSS 소스 전체를 다시 볼 필요가 있습니다.
변수는 유용하지만 쉽게 기억할 수 있고 그 목적을 알 수있는 이름이 있어야합니다. 가치가 변하기 때문에 변수 이름에 변수 값을 연결하면 안됩니다. 그러면 쓸모없는 이름이 생깁니다.
@Margin-10: 10em;
@Margin-12: 12em;
@Margin-19: 19em;
그러나 나는 아직도 그것이 최선의 해결책이 아니다 생각 : 누군가가 그들의 값을 변경하지 않는하지만 EM을 사용하는 예를 들어, 자신의 단위를 변경하기 위해 그 여백을 정의하는 것이 위의 예에서 수도 있습니다 그러나
이 파일의 재사용을 제한하고 있기 때문에
첫 번째 세트의 경우 대런의 답변에 동의합니다. 그것은 아주 이상하게 보입니다. 두 번째 집합의 경우 변수가 필요하지 않습니다. 변수는 다른 선택자 내의 여러 속성에 대해 동일한 값이 필요하다는 것을 알고있는 위치에서 더 잘 사용되며 나중에 유지 관리하기위한 하나의 공통된 장소가 있어야 나중에 수정할 수 있습니다. 마지막으로, 나는 또한이 질문이 의견에 근거한 대답을 끌어낼 것이라고 생각한다. – Harry
나는 이것에 주변에 날고있는 많은 의견에 근거한 재료가있을 수 있었다는 것에 동의한다! 한 가지 추가하고 싶은 것은 두 번째 세트가 첫 번째 세트와 동일하다는 것입니다. 두 경우 모두 정의의 세부 사항이 변수의 이름으로 bled되어 동일한 이유로 바람직하지 않습니다. –