Direksyon-friendly Navigation Bar
Abril 25, 2011 sa 09:12 ng umaga sa pamamagitan ng Thierry Koblentz | Sa CSS 101 , Development | 3 mga Komento Ako kamakailan lamang ay dumating sa isang pahalang navigate menu sa right-nakahanay na mga link. Bilang maaari mong asahan, ito ay isang listahan ng elemento float:right karapatan at ang mga listahan float:left sa lumutang: kaliwa. Kahit na doon ay walang mali sa diskarte na ito, inspirasyon ito sa akin upang kunin ang pagkakataong ito upang talakayin ang directionality para sa layout.
Ang halaga ng mga lumulutang na mga elemento
Sa kamay ay walang konsepto ng directionality, hindi nila trabaho tulad ng mga inline na mga elemento o mga hanay ng dir (na kung saan ang dir na katangian ay isang magic bullet). Sa mga kamay, ang mga may-akda ay dapat na ipatupad ang mekanismo sa "swap" halaga ltr ang mga rtl ng interface (ltr kumpara sa rtl).
Kaya sa halip ng float lumutang, ang mga may- inline-block pabor ang inline-block. Narito ang isang simpleng halimbawa:
ul { text-align: end; text-align: right\9; *text-align: right; } li { display: inline; } a { display: inline-block; padding: 5px 15px; margin: 0 5px; } Tandaan na ang paggamit ng \ 0 0 "(na walang espasyo) sa halip ng \9 9 "ay mag-ingat ng Opera, ngunit maaaring hindi bilang hinaharap patunay ng \9 9 "(IE lamang) .
Bilang ang demo na pahina ay nagpapakita, sa Chrome, Safari at Firefox, inline-block block na pamamaraan ay gumagawa layout ang pagsusulat-mode na umaasa (sa direksyon ng daloy tumutugma dir ang halaga ng ang dir na katangian, o ang unang halaga kung ang walang direksyon ay tinukoy). Para sa iba pang UA ng, at dahil ng IE ang kakulangan ng suporta para sa ang katangian ng selector html[dir="rtl"] "]), ang mga may-akda kailangan upang magdagdag ng isang hook sa markup sa mangontrata ng pagpapakain sa pagbabago ng direksyon. Halimbawa, para sa buong A-grade pagkakatugma:
- Para sa lumutang pamamaraan:
.rtl ul { float: left; } .rtl ul li { float: right; }- Para sa mga inline na-block na pamamaraan:
.rtl ul { text-align: left\9; /* IE8/9 */ *text-align: left; /* IE5/6/7 */ }
text-align: start | end
Hindi tulad ng left at right , start simula end pagtatapos ay pagsulat-mode umaasa keyword . Sa Ingles, start ang mga left sa end at end right mga mapa sa kanan. Umasa sa start at end kaysa sa left at right ay nagbibigay-daan sa ilang mga browser na ltr ang rtl (ltr / rtl) awtomatikong.
Pagkakaiba sa pagitan ng mga browser at mga pamamaraan
- Sa mga browser na hindi sumusuporta sa "
start/end"(IE, Opera) - pamamaraan ng lumutang: swapping direksyon ay hindi baguhin ang anumang
- inline-block na pamamaraan: swapping direksyon ay hindi baguhin ang pagkakahanay ng menu, ngunit ang mga link ay ipinapakita sa ang tamang sequence
- Sa mga browser na support
startsimulangenddulo "(Chrome, Safari, Firefox ) - pamamaraan ng lumutang: swapping direksyon ay hindi baguhin ang anumang
- inline-block na pamamaraan: swapping direksyon ay sapat na upang magpalitan ng direksyon ng parehong menu at ang mga link
Iyan na ito! Susunod na oras na mayroon kang mga elemento estilo pahalang, tandaan na display:inline-block - display:table : table ng isang subukan.
Ibahagi at i- extend: Bookmark sa del.icio.us | Digg ito ! | reddit!
3 Comments »
RSS feed para sa mga komento sa post na ito TrackBack URI
Mag-iwan ng komento

Copyright © 2006-2011 Yahoo! Inc. Lahat ng karapatan ay reserbado. Patakaran sa Privacy - Mga Tuntunin ng Serbisyo
Pinapatakbo ng WordPress sa Yahoo! Web Hosting .


Thierry,
Ang pahayag na ito ay bahagyang tama:
Mangyaring tingnan ang test serye para sa mga kamay at bidirection at ang pagsubok na ito nagpapakita floated menu sa direksyon na 'rtl'. Kasalukuyan Opera at WebKit humahawak overflow mali sa mga itinuro na layout ng 'rtl'.
Ko sabihin na ang iyong diskarte (taga CSS) ay tulad ng coding sa IE7-masaya. Na ito ay hindi makakatulong sa mga 100s ng mga milyon-milyong mga mga tao na basahin at magsulat ng mga script (ie. na Hebreo o Arabic) na 'rtl' na direksyon. Sa IE7-, web developer ay pataga lubhang sa IE7-kumilos sa direksyon na 'rtl'. Ang isang karaniwang bagay na makita sa CSS para sa mga pahina na may '' direksyon ng rtl ay ang
text-align: rightihanaytext-align: rightihanay: karapatan na makamit ang tamang paglalagay ng teksto. Ako ay estado na ang IE ay hindi lamang ang browser na hawakan 'rtl' na direksyon mahina.Ngayon na ito siguro isang sorpresa sa iyo ngunit IE8 ay sumusuporta sa tama rtl direksyon. Ang tanging mga browser na ito kanan bago IE8 ay Gecko. Iminumungkahi ko na lumutang ang parehong ul at li kanan at hindi magtadtad ng mga IE8 o IE9 dahil ito ay masyadong na artikulo ay nagdadagdag sa buong maling impormasyon tungkol sa bidirection.
Ako ay may ilang impluwensiya sa spec sa pagsulat ng mode at direksyon. Ito ay tungkol sa lohikal na mga katangian , lumutang at overflow para sa rtl at overflow at bidi.
Puna sa pamamagitan ng Alan Gresley - Abril 26, 2011 #
@ Alan
Ay nakalilito sa akin. Nabanggit mo sa iyong mga pahina ng "lumutang: karapatan o magpalutang: simulan para sa rtl", ngunit tulad ng alam ko walang ganoong bagay bilang "simulan" sa ang spec [1] na lamang ang mga listahan
leftkaliwarightkanannonenoneinheritmagmana .Mukhang na kung ano ang iyong ginagamit sa iyong mga kaso sa pagsubok. is "Makikita overflow at Naglalaman Block para sa rtl" kahit na tingin ko
text-align:rightkarapatan sa kalabisan attext-align:startsimulan na ay mas nararapat pa rin .Gayundin, mangyaring tandaan na sa artikulong ito ako ang "ipakita" ang paggamit ng
text-align: start|endright|leftkaliwa mga halaga ay ginagamit lamang bilang isang umurong .Talaga, maaari mong nasagot ang buong punto ng artikulong ito na kung saan ay upang maiwasan ang pagkakaroon sa mga bagay estilo na naiiba depende sa konteksto. Ang iyong pahina ng demo na nagpapakita sa dropdown menu sa RTL at LTR contexts swaps magpalutang ng mga halaga at kaliwa / kanan na mga katangian, na kung saan ay walang bagong :-(
Salamat sa iyong puna!
[1] http://www.w3.org/TR/CSS21/visuren.html # magpalutang-posisyon
Puna sa pamamagitan ng Thierry Koblentz - Abril 26, 2011 #
Oh ang saya. Pagsubok.
sa kamay at bidirection
Puna sa pamamagitan ng Alan Gresley - Abril 26, 2011 #