رفتن به مطلب
برای استفاده از انجمن و عضـویت کلیک کنید.

پست های پیشنهاد شده

Gadatas    51

پاسخگو و راهنما

با استفاده از ویژگی unicode-bidi در کنار ویژگی direction می توان جهت و رفتار متن هایی که دارای نوشته در دوجهت هستند را کنترل کرد.

به عنوان نمونه کلمات در زبان فارسی از راست به چپ چیده می شوند در حالی که در انگلیسی از چپ به راست می باشد. حال اگر متنی دارای نوشته هایی از هر دو زبان باشد به این متن، متن دو جهته bi-directional (Bidi) گفته می شود.

حال اگر عنصری دارای محتوایی با هر دو زبان باشد مرورگر از یک الگوریتم پیچیده برای نحوه نمایش متن استفاده می کند. با استفاده از ویژگی unicode-bidi می توان رفتار این الگوریتم را بازنویسی کرد و کنترل نمایش متن های دو جهته را در دست گرفت.

در حالت عادی ویژگی direction جهت عناصر بلاک را تعیین می کند.

اگر می خواهیم که ویژگی direction بر روی عناصر خطی تاثیر داشته باشد باید اول مقدار ویژگی unicode-bidi را برابر با embed قرار دهیم.

در تصویر زیر دو پاراگراف نمایش داده شده اند که جهت آنها از چپ به راست (ltr) می باشد. در وسط هر پاراگراف جمله ای فارسی نوشته شده است و از آنجایی که جهت نوشته فارسی باید از راست به چپ (rtl) باشد انتظار می رود که علامت تعجب بصورت صحیح یعنی شبیه به حالت دوم نمایش داده شود:

unicode-bidi.png

 

برای اینکه به حالت دوم برسیم باید جهت نوشته فارسی را به راست به چپ تغییر دهیم. اما از آنجا که نوشته فارسی در یک عنصر خطی (<span>) قرار دارد باید اول ویژگی unicode-bidi را تنظیم کنیم و سپس جهتش را تغییر دهیم:

span.farsi { 
    unicode-bidi: embed;
    direction: rtl; 
}

مقادیر unicode-bidi

تمام مقادیری که این ویژگی می تواند داشته باشد به شرح زیر هستند:

unicode-bidi: normal | embed | isolate | bidi-override | isolate-override | plaintext | inherit

normal

این مقدار، مقدار پیشفرض و اولیه این ویژگی می باشد و برای عناصری مناسب است که فقط محتوای آنها RTL یا LTR هستند. یعنی نوشته های دو جهته ندارند.

embed

این مقدار باعث می شود تا عنصر خطی با توجه به الگوریتم یونیکد مرورگر اجازه تغییر جهت توسط ویژگی direction را داشته باشد.

bidi-override

برای عناصر خطی این مقدار کاملا شبیه به embed رفتار می کند اما برای عناصر بلاک باعث می شود محتوای عناصر خطی داخل آنها در جهت direction عنصر بلاک نوشته شوند.

البته فرزندان خطی عنصر بلاک نباید داخل یک عنصر بلاک دیگر باشند. به عنوان نمونه در مثال زیر اگر مقدار bidi-override را برای عنصر div در نظر بگیریم این تنظیمات تاثیری بر نوشته فارسی دوم نخواهد داشت. اما به نوشته فارسی اول تاثیر می گذارد.

<div>
  Lorem ipsum dolor sit amet. <span>متن فارسی</span> Lorem ipsum dolor sit amet. 
  Lorem ipsum dolor sit amet. <p><span>متن فارسی</span></p> Lorem ipsum dolor sit amet. 
</div>

مقادیر isolate، isolate-override و plaintext فعلا بصورت آزمایشی هستند و تمام مرورگرهای اصلی آنها را پشتیبانی نمی کنند.

به اشتراک گذاری این ارسال


لینک به ارسال

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

  • مطالب مشابه

    • توسط dariyush80
      سلام دوستان.
      میخواستم بدونم کسی آموزش گام به گام (پایه) b4i داره؟؟؟
    • توسط xboby
       با سلام ،
      در سی پنل  و برای IPS  ؛
      لطفا مسیر و مکان : " فایل کانفیگ دیتابیس " را مشخص بفرمائید.
                    بسیار متشکرم
       
    • توسط شهریار شریعتی
      درود فراوان
      شاید شما خواسته باشید که برنامه ی شما به یک سرور متصل شود و پیام هایی را دریافت و یا ارسال کند. Socket Programming یک تکنولوژی قدرتمند میباشد که درواقع امکان اتصال بین سرور و کلاینت را میدهد. حالا چرا سوکت ؟ بهترین سرویسی که پیشنهاد میشود GCM و FCM شرکت گوگل هست ولی متاسفانه در زمان نگارش این متن 
      کشور ما مورد تحریم قرار گرفته و هرلحظه ممکن است که پشتیبانی گوگل شامل ایران نشود. علاوه بر این مشکل برنامه ی شما وقتی کار میکند که گوگل سرویس روی گوشی کاربر نصب باشد.
      برنامه های چت امروزی معمولا برای پیاده سازی سیستم ارسال و دریافت از سوکت استفاده میکنند از این رو ما تصمیم گرفتیم که دوره ی آموزشی را تا ساخت یک برنامه چت ادامه دهیم.
       
      آموزش ها :
      [hide_like] Part1-Create WebSocket.rar
      Part2-Use Methods.rar
      Part3-Create a Project.rar
      Part4-Create Client.rar
      [/hide_like] پروژه ها :
      [hide_like] CheckName Server.rar
      CheckName Client.rar
      [/hide_like] کتابخانه Web Socket برای B4a :
      [hide_like] WebSocketLibrary.zip
      [/hide_like]
    • توسط امین خاتون آبادی
      به نام خدا.
      با عرض سلام و خسته نباشید خدمت تمامی کاربران گرامی انجمن برنامه نویس ایرانی.
      با اموزش جلوگیری از نفود به وای فای در مدل های (TP-Link) با من همراه هستید ، اموزش بدون صدا هست و در کنار اموزش یک فایل قابل مشاهده هست که میتونید توضیحات را در ان بخونید.
       
      [hide_like] Amoozesh UnHack Kardan WiFi Ba WPS.rar
      [/hide_like]
       
      موفق باشید.
  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×