펌글 배경 문제

예를들어 xe타운은 사이트 배경이 있다보니 이런식으로 들어가는 경우가 많습니다.

 

https://xetown.com/index.php?mid=lakepark&category=5779&document_srl=99278

 

글에 설정된 값은 무시하고 자동으로 background-color 값을 transparent 로 보여 주는 방법이 있을까요? (기존 작성글들까지 적용되기 위해서..)

 

  • profile
    important 를 이용해서 background-color의 우선순위를 바꾸어보심이 (근본적인 해결책은 아니네요 @_@)
    .xe-content > p {backgorund-color:transparent !important}
  • profile ?
    • skyo
    • 질문기여자
    혹시 이걸 어디에서 설정해줘야 할까요? 사용중인 에디터의 editor.css 인가요?
  • ? profile
    레이아웃이나 게시판 스킨이나 아무쪽에 들어가면 될 것 같아요 @_@
  • profile ?
    • skyo
    • 질문기여자
    injin님 언제나 감사합니다. 제가 div/span/p 모두 변경하여 완료 하였습니다.
  • profile
    근본적인 해결책은 안될듯합니다.

    아마 XE타운에서는 제가 건의드린 코드 복사 붙여넣기 기능때문에도 문제가 생기는 부분일지도 모르고요(CKEditor)
    크롬이나 그 뭐시기냐 파폭의 경우 무언가의 브라우저내용을 복사하면, 일반 텍스트가 아니라 HTML 스타일코드로 복사 하는 경향이 있는듯합니다.
    그래서 에디터상에 붙여넣기 시전하면 그 스타일리시가 다 붙여넣어지니.. 해당 기능을 브라우저 단위에서 사실 해야하는데, 그 부분의 기능을 막아버리기가 애매하니, 차라리 background-color 를 바꾸는 형태로 가는거죠..
    그렇게 되면, 음영을 넣은 배경색까지 전부 바뀌게되어 에디터에서 직접 수정한 글에대해서도 투명처리화가 되겠습니다.

    그래서 보통은 냅두시는게..ㅠ.ㅠ
    아니면, 에디터를 Textarea 으로 운영해야하는데 사실 건..(노답..)이죠..
  • profile
    글 등록할 때 정규식을 사용하거나, 표시할 때 jQuery를 사용해서
    background-color 속성을 모두 날려버리는 방법도 있겠네요.
  • profile ?
    • skyo
    • 질문기여자
    기진곰님 말씀 듣고 검색으로 거진 몇주간 해보고 있는데 이렇게 잡고 해도 아무런 변화가 없어서 문의 드립니다.

    <div id="background">
    {$oDocument->getContent(false)}
    </div>

    <script language="javascript">
    $('.read_body clarity-font').css('background-color','#transparent')
    $('.read_body clarity-font').css('color','#fff')
    </script>

    정녕 방법이 없을까요?
  • ? profile
    clarify-font는 어디서 나온 건가요?

    $("div.xe_content p").css("background-color", "transparent");

    이렇게 해보세요. transparent에는 #을 붙이지 않습니다.
  • profile ?
    • skyo
    • 질문기여자
    왜 반응이 없을까요...흠... 소스를 보니 요런식으로 들어가 있는 놈이거든요.

    <div class="td-post-text-content" style="background-color: rgb(255, 255, 255);"><p style="color: rgb(38, 38, 38); font-family: '”Nanum Gothic”'; font-size: 15px; line-height: 23px; margin-bottom: 23px;"> <br />로이터는 수요일 (미국시간) 전 임원들과 삼성과 거래했던 사람들을 인용해 삼성의 하드웨어가 주도해 왔던 문화가 변하지 않으면, 최근 소프트웨어와 서비스 플랫폼을 강화하려는 노력들이 무산될 것이라고 경고했다.</p></div>

    말씀 수진대로 요렇게 집어 넣었습니다.
    <script language="javascript">
    $("div.xe_content p").css("background-color", "transparent");
    </script>
  • ? profile
    그 사이트는 p 태그가 아니라 div 태그에 background-color가 들어가 있네요.
    소스코드의 p를 div로 바꾸셔야 할 듯...
  • profile ?
    • skyo
    • 질문기여자
    와.. 감사합니다... div 로 변경 하니 됩니다. 꾸벅.
  • ? profile

    $("div.xe_content").find("p,div").css("background-color", "transparent");

    이렇게 하시면 p, div 모두 한꺼번에 처리할 수 있어요. (span도 추가하셔도 됩니다.) 사용자들이 다른 사이트에서 어떤 태그를 긁어올지 모르니까...

  • profile profile
    기진곰님 말씀에 덧붙이자면 해당 스크립트는 xe_content보다 뒤쪽에서 나오거나

    $(document).ready(function(){
    }
    이 안에 들어가야 합니다..
    (document가 모두 준비가 되면 그때 이 안의 스크립트를 실행하라는 것입니다.)

    html문서는 순차적으로 실행되기 때문에 먼저 바꾸고 뒤에 xe_content가 나오면 소용이 없기 때문입니다.
  • profile ?
    • skyo
    • 질문기여자
    와.. 이러면 간결해지는 군요.감사합니다.
  • profile ?
    • skyo
    • 질문기여자
    네. 그런 이유였군요. 현재 뒤에 넣고 적용 하엿으나. 위 처럼 해보겠습니다.