문제

소스 코드에서 사용자에게 태그가 표시되지 않도록 CSS에서 div 및 p 요소가 비어 있는 경우 어떻게 축소할 수 있습니까?

이러한 요소는 비어 있지만 내 소스 코드에 있습니다.이로 인해 사이트의 나머지 부분에 버그가 발생합니다.

나는 이것을 성공적으로 실행하지 못한다.

div.unsuccessful,
div.unsuccessful p {
    visibility: collapse;                                                                                                                                                                                      
}

이것은 CSS로는 그런 일을 할 수 없다는 것을 암시합니다.아마도 PHP와 같은 다른 도구가 필요할 수도 있습니다.

도움이 되었습니까?

해결책

CSS는 실제 HTML 코드에 영향을 미치지 않으므로 수행 할 수 없습니다. (다가오는) CSS3에서, 당신은 그들이 :empty 의사 클래스 :

div:empty {
    display: none;
}

물론 같은 것은 아니지만, 브라우저 만 실제로 지원하지 않은 경우 아직 그렇지 않은 문제를 해결할 수 있습니다.

가장 좋은 방법은 PHP와 같은 스크립팅 언어를 사용하여 서버에서 제거하는 것입니다. 나는 당신을 생각합니다 ~할 수 있었다 JavaScript를 사용하여 클라이언트 측면을 수행하지만 끔찍한 솔루션 인 IMO입니다.

즉,이 빈 태그에 어떤 문제가 있습니까? 왜 처음에 거기에 있습니까? 불필요한 태그가 처음에 생성되는 것을 방지하기 위해 일부 재 설계가 순서대로 나에게 있습니다.

또한 조심하십시오. 빈 태그가 항상 의미가없는 것은 아닙니다. 사실, 빈 모든 빈을 제거합니다 <div> 유해한 것으로 간주 될 수 있습니다.

다른 팁

예, 당신이 그들을 멈추고 싶다면 출처, 서버 코드에서 적절한 고려 사항을 작성해야합니다. 또는 HTML을 JavaScript로 설정할 수도 있지만이 문제에 대한 권장되는 접근법은 아닙니다. 그래도 당신이하려는 일에 대해 조금 더 말하고 싶을 수도 있습니다.

가시성 속성은 객체의 내용이 표시되는지 여부를 설정하기위한 것입니다. DOM 내부에서 요소를 제거하지 않습니다.

Windows Internet Explorer 8 용으로 새로운 붕괴. 8

행과 열을 제거하기 위해 테이블에 사용됩니다. 숨겨진 것과 동일한 다른 모든 요소의 경우.

또한 왜 이것을하고 싶습니까?

div { display: none; }

페이지에서 요소를 완전히 제거합니다.

귀하의 앱에는 계속 표시됩니다. 소스 코드, CSS로 무엇을 하든 상관없습니다.브라우저는 HTML 소스와 CSS 지시문을 표시 가능한 페이지로 결합하며 원본 소스는 수정되지 않습니다.CSS는 요소의 시각적 표시에만 영향을 미칠 수 있으며 요소를 변경할 수는 없습니다.실제로 DOM에서 요소를 제거하려면 Javascript가 필요합니다(또는 먼저 요소를 거기에 두지 마십시오).

예, 서버 측 처리를 사용하여 사용자에게 일부 코드를 표시하거나 쇼를하지 않아야합니다.

if ($showAdminLink) {
    echo "<p><a href=\"admin.php\">Admin panel</a></p>";
}

어떤 트릭을 시도하든 클라이언트 측 (HTML, JavaScript, CSS)에서 수행 된 모든 작업을 변경하여 연주 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top