제목 | CSS에서 안에서 URL 헬퍼가 안먹을 때 해결방법. | ||
---|---|---|---|
글쓴이 | 지지고 | 작성시각 | 2012/11/03 16:57:30 |
|
|||
몇 일동안 삽질해서 저 같은 초보가 많으리라 생각해서 올립니다. css 스프라이트 이미지를 사용하기 위해 특정 영역에 백그라운드 이미지를 지정하려고 합니다. 이미지는 index.php 없애기를 통해서 ci/assets/img/스프라이트.png 에 이미지가 있습니다. 이 때 CSS파일 안에서 CI에 URL 헬퍼를 사용해서 base_url('주소/파일이름.png') 식으로 호출하려고 했습니다. 하.지.만. 컨트롤에서 불러온 view 파일에서만 base_url 헬퍼가 먹고... view 파일에서 불러온 css 파일이 불러온 파일이름.png 가 출력이 안되는 겁니다. 개발자도구로 보니까. base_url 부분이 http://서버이름/ci/assets/img/스프라이트.png 가 아니라. 그냥 base_url('<? php echo base_url('assets/img/스프라이트.png');?>') 로 보이는 것이 아니겠습니까? 아... 아마도 ci 컨트롤러에서 직접 호출한 view 파일에서만 헬퍼가 먹고... 그 뷰파일에서 부른 CSS 파일에는 헬퍼가 작동하지 않는 건가 봅니다. 그래서 상대경로로 넣어줬습니다... 작동 잘 하더라구요. .. ㅎㅎ 일주일 삽질했는데 방금 문제가 풀려서 기분좋게~^^ 공유합니다. 처음에는 css 와 img 폴더 깊이가 동일하기 때문에 한 단계 전으로 올라갔다가 이동하면 되니까... ../ (한 단계 위로 올라가서 ) img/스프라이트.png (img 폴더 아래에 스프라이트.png 파일을 참조해라) ../img/스프라이트.png 로 적었습니다... 작동 잘 하네요... 여기서 이렇게 삽질을 했던 이유는... 그냥 assets/img/스프라이트.png 하면 안먹혀서 고생을 했더랬지요... 이 경우는 ../../assets/img/스프라이트.png 하면 해결 됩니다... 대체 왜그러는지 모르겠지만.. 여튼 컨트롤러에서 직접 호출한 view 에서 간접적으로 호출된 css 에서 url 헬퍼가 안 먹고.. 그래서 경로 바뀌어도 작동하는 페이지 만들려고 했는데 안되서 절대경로 쓰시고 계신 초보분들은 이 팁을 사용하시면 될 것 같습니다. 이것 때문에 귀중한 새벽 몇십시간을 삽질한 저에게 그래도 잘했다고 칭찬해주렵니다. ㅎㅎ^^ |
|||
다음글 | 개발 가이드 공개합니다. (18) | ||
이전글 | git에 대한 연구문서 (4) | ||
milosz
/
2012/11/05 07:35:13 /
추천
0
만약 해당 방식대로 사용하고 싶으시면 해당 문서 형식으로 view를 만들고 호출해서 사용하시면 되겠습니다.
<link rel="stylesheet" href="controller_name/function_name"> 식으로 말이죠.
|
한대승(불의회상)
/
2012/11/06 20:31:07 /
추천
0
지지고// ../../assets/img/스프라이트.png => /ci/assets/img/스프라이트.png 를 쓰게 되면 어떤 결과가 나오는지 알려 주세요.
|