문제

Yui는 RTL 언어를 지원합니까? (RTL : 히브리어 또는 아랍어와 같은 오른쪽에서 왼쪽).

그렇다면 어떻게? 다른 메뉴 항목이 오른쪽 여백 근처에서 시작하여 왼쪽으로 이동하는 메뉴 바를 표시하고 싶습니다.

도움이 되었습니까?

해결책

Yui 2.X에는 RTL 언어에 대한 지원이 없습니다. 나는 1 년 전에 그것에 대한 버그를 제출했고 나중에 릴리스에 추가 할 수 있다는 응답을 받았습니다. (새로운 추적기로 전환 한 이후로 더 이상 버그를 찾을 수 없습니다. 죄송합니다.) YUI 3.X에 대한 RTL 지원을 추가하고 있지만 미리보기 릴리스를 확인하지 않았기를 바랍니다 (추가를 언급 할 수도 없습니다. RTL 지원).

Yui 메뉴는 RTL을 수행 할 수 없다고 말하는 것은 아닙니다. 비록 내장 지원이 없으므로 약간의 작업이 필요합니다. 나는 이것이 모든 브라우저에서 100%, 특히 IE가 아닌 100% 작동한다고 주장하지 않습니다.

먼저 반대 방향으로 흐르고 페이지의 반대쪽에서 시작하려면 메뉴 항목이 필요합니다. 나는 이것이 대부분의 브라우저에서 작동한다고 생각합니다 (IE6 제외, Argh- 해당 브라우저에는 답을 기억하지 못하는 추가 작업을해야합니다).

.yuimenubaritem { float: right; }

둘째, 반대 방향으로 흐르려면 메뉴 바의 하위 메뉴가 필요합니다. 당신은 이것을 변경하여 이것을 할 수 있습니다 하위 메일 디자인 메뉴 구성의 속성 :

// For the main submenu
new YAHOO.widget.MenuBar("id", { submenualignment: ["tr","br"] });

// You have to manually add all the Menus,
// so that you can set the submenualignment on each.
new YAHOO.widget.Menu("id", { submenualignment: ["tl","tr"] });

최악의 부분은 키보드 이벤트를 올바르게 작동 시키려고 노력하는 것입니다. 그렇게하려면 Menubar의 _onkeydown ()를 납치하고 Menubar가 RTL을 설정하면 (이 정보를 VAR 어딘가에 저장) 약간 다르게 처리하도록 변경해야합니다. (죄송합니다, 당신은 이것을 스스로 파악해야하지만, 주요 프레스에서 케이스를 전환하는 것이 간단해야합니다).

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