2010-05-03 1 views
2

좋습니다. 개별적으로 배치해야하는 페이지에는 많은 양의 컨트롤이 있습니다. 여기에 여백을 설정해야합니다. 아무 것도 없습니다. 이 없습니다. 특정 스타일을 적용하고 싶습니다. 스타일이 어느 레벨에 배치되는지 등을 결정하는 베팅 프랙티스 란 무엇입니까?VS2010 및 CSS : 개별적으로 양식 컨트롤을 배치하는 가장 좋은 전략은 무엇입니까

OK, 내 선택은

1) 외부 CSS 파일

1A)를 사용하여 ClientIdMode = Auto (기본값)

내가 ASP.NET 컨트롤에 고유 CssClass 값을 할당 할 수 있으며, , 외부 CSS 파일에서 해당 컨트롤에만 적용될 클래스 선택기를 만듭니다. 외부 CSS 파일에서

Predicatable

1B) 사용자 클라이언트 ID는 =, 나는 ID가 관심의 컨트롤에 있다는 것을 결정하고 ID 선택기 (#ControlID {스타일}) 만들 수 있습니다. 그러나 ID가 변경 될 수있는 상위 컨테이너를 포함/제거함으로써 유지 관리 문제가 발생할 수 있습니다.

1C) 사용자 클라이언트 ID = 정적.

나는 (아마도 "StaticID_"로 ID를 앞에 붙여 및 ID 선택기로 외부 스타일 시트를 사용합니다.

2)가 자동으로 ID를 생성하여 충돌의 가능성을 최소화하도록 컨트롤에 대한 정적 ID를 선택할 수 있습니다 스타일을 컨트롤 위에 배치 할 수 있습니다. 여기에서 유일한 단점은 스타일 정보가 캐싱되지 않고 매번 내려져서 외부 CSS를 사용하는 것입니다. 스타일을 재사용하지 않으면 개인적으로 외부 파일에 배치하는 것이별로 도움이되지 않지만 동의하지 않는 이유를 설명하십시오. "한 곳에서 모든 CSS를 사용하는 것이 좋습니다."

답변

2

확실히 외부 CSS 파일을 사용하십시오.

옵션 1 A-C는 실제로 개인적인 취향입니다. 나는 당신에게 이드를 가장 잘 제어 할 수 있고, 필요한 경우 자바 스크립트로 요소에 액세스하는 것을 단순화 할 것이므로 ClientIDMode="Static"으로 갈 것입니다. 필자는 이전 버전의 ASP.NET에서 생성 된 ID를 항상 싫어했습니다. 각 요소에 고유 한 CSS 클래스를 사용하면 여러 요소에 사용하기위한 클래스의 목적을 상실 할 수 있습니다.

옵션 2의 생각을 확인하기 위해 최선의 방법은 아닙니다. 외부 CSS 파일에 스타일을 적용하면 매번 클라이언트에 전송되는 HTML이 인라인 스타일로 부 풀리게되는 대신 파일이 한 번 다운로드되어 캐시됩니다.

+0

내 생각은 정확하게. 나는 단지 확인을 찾고 있었다. 나는이 질문이 더 많은 관심을 불러 일으키지 않았다는 것에 놀랐다. 의견과 설명에 감사드립니다. – ChadD

+0

클래스 선택기와 ID 선택기의 차이점은 기껏해야 사소한 것입니다. 왜 어떤 사람들은 다른 사람보다 더 낫다고 생각하는 것 같지 않습니다. asp.net 컨트롤 ID에 관해서는 정적을 사용하려는 경우 다른 곳에서 반복 될 가능성이없는 컨트롤 이름을 지정하는 것을 잊지 마십시오. 한 페이지에 두 개의 동일한 컨트롤 인스턴스가 있어야하는 경우 어떻게해야합니까? – Chris

관련 문제