2012-04-22 4 views
1

라파엘 문자 요소에 text-overflow: ellipsis; CSS 선언을 사용해야했지만 기존의 크로스 브라우저 솔루션을 찾을 수 없었습니다. 아마도 내 검색 기술이 실패했습니다.내 Raphael은 "텍스트 오버 플로우 : 줄임표"입니다. 플러그인 구현 과잉?

그래서 내 원하는 Raphael 플러그인 fitText을 만들었습니다. 텍스트를 특정 너비에 맞 춥니 다. 완벽하지는 않지만 작동합니다. fiddlegithub page입니다.

지금은 생각하고 ...

  1. 내 솔루션은 과잉인가? 즉, 문제를 해결하는 쉬운 방법이 있습니까?
  2. 플러그인에 대한 작업을 계속할 가치가 있습니까?

답변

1

text-overflow: ellipsis은 아직 널리 지원되지 않으므로 과도 함이 아니며 비 현대적인 브라우저가 아닙니다. 나는이 문제를 나 자신과 마주 치게되었고 유사한 접근법으로 해결했다.

에 관계없이, 소스보고 후, 몇 가지 제안 :

  • 당신은 getBBox()
  • API 디자인에 무거운 전화를 캐싱하여 성능을 개선 할 수 있습니다 : 내가 인수를 전달 (text, width) 생각 중복 이 정보는 요소 자체에서 검색 할 수 있으므로 API 최종 사용자는 요소에 fillText()을 호출하고 잊어 버리는 것을 원할 것입니다.
+0

귀하의 의견을 감사드립니다. getBBox에 관한 github에 대한 의견을 남겼습니다. 'text' 인자는 업데이트를 위해 남아 있어야하지만,'width'는 종이 크기를 기본으로합니다 ... 완전히 잊어 버렸습니다. 감사. – Oleg

+0

아마도'width'에 대한 더 나은 선택은 텍스트 부모 모양의 너비를 기본값으로 갖는 것입니다. –

+0

중첩 구조가 Raphael에 있습니까? 나는 아마 오해하고있는 것이지만, 종이와 요소라고 생각했습니다. – Oleg