2013-02-05 7 views
2

그래서이 질문은 오랫동안 저에게 잔소리였습니다. 나는 CSS에 요즘 더 많이 파고 들었다. 드루팔 (Drupal에있는 것처럼이 프로젝트의 jQuery에서 벗어나려고 노력 중이며 사용자 정의 코드에서 벗어나려고 노력 중입니다.클래스 내에서 개체 선택

사용자가 로그인하지 않은 상태에서 시스템이 "로그인하지 않음"이라는 BODY에 적용되는 클래스가 있습니다. 이제이 이어야합니다 (CSS는 이해함). 관리자 만 "로그인"할 수 있습니다. 노드를 편집하는 사람이있을 때 우리는 충돌을 일으키고 있습니다. 우리의 모든 사용자 정의 클래스는 두 경우 모두에로드되고 일부 편집 컨트롤은 그 때문에 펑키하고 있습니다. 나는이처럼 CSS 셀렉터와 스타일을 추가 할 때

<body class="html not-front not-logged-in no-sidebars page-node page-node- page-node-1 node-type-page footer-columns" > 

    ... [much body content here--other divs, other classes, elements with IDs] ... 

    <div class='mycustomclass'>Should be bigger if logged in</div> 
</body> 

그래서 :

.not-logged-in .mycustomclass { 
    font-size: 20px; 
} 

.mycustomclass 무시하는 것 같다

그래서 BODY 스타일의이 같은 것입니다. 나는이 문제를 전에 풀어서 가난한 CSS-fu에게 알려 줬다. 항상 jQuery가 있었기 때문에 걱정할 필요가 없었습니다. 누군가가 나를 위해 오랜 시간의 비밀을 밝힐 수 있다면 정말 고마워.

+0

와우. 나는 아무 설명없이 표시되어 있니? 이것이 명백한 것이면, 사과드립니다. 당신이 나쁜 질문이라고 말하려고한다면, 적어도 왜 * 나쁜 생각이라고 생각하는지 말해주십시오. – KCL

+1

개인적으로 나는 이것이 좋은 질문이라고 생각합니다. 즉, 노드를 편집 할 때 직면 한 충돌에 대해 자세히 설명 할 수 있습니다. 이러한 충돌을 디버그 할 수 있습니까, 페이지를 검사 할 때 무엇을 보는지 등등. 좀 더 많은 정보를 얻을 수 있다면 솔루션을 찾는데 도움이 될 것입니다. – BoltClock

+0

문제를 설명하기 위해 바이올린을 게시 할 수 있습니까? 나는 여기에 귀하의 코드를 시도 : http://jsfiddle.net/RNzxd/ 그리고 나를 위해 일하는 것 같습니다. – ryadavilli

답변

2

구문은 문제가 없으며 아무런 문제가 없습니다.

클래스 실제로로드되지 않는
  1. , 중 몸에, 또는 mycustomclass 요소 :

    나는 두 가지 문제 중 하나가 상상한다. 자신의 코드가 아닌 의 소스 (즉, 브라우저에서)를 모두으로 렌더링하십시오. 드루팔 (Drupal)이므로 캐싱을 통해 변경 사항이로드되지 않습니다. 드루팔 (Drupal) 캐시을 지우십시오.

  2. 특이성. 아마도 요소에 다른 클래스가 있거나 아마도 전역 규칙이있을 수 있습니다. 어쨌든, 뭔가 그 요소에 CSS를 무시할 수 있습니다.

둘 다 해결하려면 Firebug와 Firefox의 Web Developer Toolbar를 사용하십시오. 둘 다 CSS를 수행하는 데 필수적입니다.

+0

또는 다른 브라우저를 사용하는 경우 'F12'를 누르십시오.) –

+0

이렇게 * 다른 사람은 모두 작동하고 사용해야합니다. 그게 알아두면 좋다! 나는 더 파다. 도와 주셔서 감사합니다. 그리고 저는 Chrome뿐 아니라 사파리에서도 개발자 도구를 사용했습니다. 좋은 정보입니다. – KCL

0

드루팔 (Drupal이 HTML의 <head>에 css 스크립트 태그를 추가하고 있는지 확인하십시오. 스타일 시트 참조를 따라야합니다. 즉, drupal css (로그인하지 않은 클래스를 <body>에 추가하는 것)가 CSS보다 먼저 실행되어야합니다.

관련 문제