Saltatu eduki nagusira Saltatu dokumentuen nabigaziora

Ikasi Bootstrap-en eskuinetik ezkerrerako testurako laguntza nola gaitzen gure diseinu, osagai eta utilitateetan.

Ezagutu zaitez

Lehenik eta behin, Bootstrap-ekin ezagutzea gomendatzen dugu gure Lehen urratsak emateko Sarrera orria irakurrita . Behin exekutatuta, jarraitu hemen irakurtzen RTL nola gaitu jakiteko.

Baliteke RTLCSS proiektuari buruz ere irakurri nahi izatea, RTLrako gure ikuspegia indartzen baitu.

Ezaugarri esperimentala

RTL funtzioa oraindik esperimentala da eta ziurrenik erabiltzaileen iritzien arabera eboluzionatuko da. Zerbait ikusi al duzu edo iradokitzeko hobekuntzarik? Ireki ale bat , zure estatistikak jasotzea gustatuko litzaiguke.

HTML beharrezkoa

Bi eskakizun zorrotz daude RTL gaitzeko Bootstrap-eko orrialdeetan.

  1. Ezarri dir="rtl"elementuan <html>.
  2. langGehitu atributu egoki bat , adibidez lang="ar", <html>elementuan.

Hortik aurrera, gure CSSren RTL bertsioa sartu beharko duzu. Adibidez, hona hemen gure CSS konpilatu eta txikituaren estilo-orria RTL gaituta:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.rtl.min.css" integrity="sha384-+qdLaIRZfNu4cVPK/PxJJEy0B0f3Ugv8i482AKY7gwXwhaCroABd086ybrVKTa0q" crossorigin="anonymous">

Hasierako txantiloia

Goiko eskakizunak aldatutako RTL hasierako txantiloi honetan islatuta ikus ditzakezu.

<!doctype html>
<html lang="ar" dir="rtl">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.rtl.min.css" integrity="sha384-+qdLaIRZfNu4cVPK/PxJJEy0B0f3Ugv8i482AKY7gwXwhaCroABd086ybrVKTa0q" crossorigin="anonymous">

    <title>مرحبا بالعالم!</title>
  </head>
  <body>
    <h1>مرحبا بالعالم!</h1>

    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
    -->
  </body>
</html>

RTL adibideak

Hasi gure RTL adibideetako batekin .

Hurbilketa

Bootstrap-en RTL euskarria eraikitzeko gure ikuspegia gure CSS idazten eta erabiltzen dugun moduan eragina duten bi erabaki garrantzitsurekin dator:

  1. Lehenik eta behin, RTLCSS proiektuarekin eraikitzea erabaki genuen . Honek funtzio indartsu batzuk eskaintzen dizkigu aldaketak eta gainidatziak kudeatzeko LTRtik RTLra pasatzean. Gainera, Bootstrap-en bi bertsio eraiki ditzakegu kode-base batetik.

  2. Bigarrenik, norabide-klase batzuei izena aldatu diegu propietate logikoen ikuspegia hartzeko. Gehienek propietate logikoekin elkarreragin izan duzue gure flex utilitateei esker left; Horrek klaseen izenak eta balioak egokiak bihurtzen ditu LTR eta RTL-entzako inolako gasturik gabe.rightstartend

Adibidez, .ml-3for ordez margin-left, erabili .ms-3.

RTL-rekin lan egiteak, gure iturburu Sass edo konpilatutako CSS bidez, ez luke gure LTR lehenetsiaren oso desberdina izan behar.

Pertsonalizatu iturburutik

Pertsonalizazioari dagokionez , hobetsitako modua aldagaiak, mapak eta nahasketak aprobetxatzea da. Ikuspegi honek berdin funtzionatzen du RTLrentzat, nahiz eta konpilatutako fitxategietatik postprozesatzen den, RTLCSS funtzionatzen duenari esker .

RTL balio pertsonalizatuak

RTLCSS balioaren zuzentarauak erabiliz , irteera aldagai bat RTLrako balio desberdina izan dezakezu. Adibidez, kode-base osoan pisua murrizteko, sintaxia $font-weight-bolderabil dezakezu :/*rtl: {value}*/

$font-weight-bold: 700 #{/* rtl:600 */} !default;

Gure CSS eta RTL CSS lehenetsietarako hurrengora aterako litzateke:

/* bootstrap.css */
dt {
  font-weight: 700 /* rtl:600 */;
}

/* bootstrap.rtl.css */
dt {
  font-weight: 600;
}

Letra-tipo alternatiboa

Letra-tipo pertsonalizatua erabiltzen ari bazara, kontutan izan letra-tipo guztiek ez dutela latindarrik gabeko alfabetoa onartzen. Paneuropartik arabiar familiara aldatzeko, baliteke /*rtl:insert: {value}*/letra-tipo-pilean erabili behar izatea letra-tipo-familien izenak aldatzeko.

Adibidez, Helvetica Neue WebfontLTR-tik Helvetica Neue ArabicRTL-ra aldatzeko, zure Sass kodea honelakoa izango da:

$font-family-sans-serif:
  Helvetica Neue #{"/* rtl:insert:Arabic */"},
  // Cross-platform generic font family (default user interface font)
  system-ui,
  // Safari for macOS and iOS (San Francisco)
  -apple-system,
  // Chrome < 56 for macOS (San Francisco)
  BlinkMacSystemFont,
  // Windows
  "Segoe UI",
  // Android
  Roboto,
  // Basic web fallback
  Arial,
  // Linux
  "Noto Sans",
  // Sans serif fallback
  sans-serif,
  // Emoji fonts
  "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;

LTR eta RTL aldi berean

LTR eta RTL orri berean behar dituzu? RTLCSS String Maps - i esker , hau nahiko erraza da. Itzul ezazu zure @imports klase batekin eta ezarri RTLCSS-ren izen-abizen arau pertsonalizatu bat:

/* rtl:begin:options: {
  "autoRename": true,
  "stringMap":[ {
    "name": "ltr-rtl",
    "priority": 100,
    "search": ["ltr"],
    "replace": ["rtl"],
    "options": {
      "scope": "*",
      "ignoreCase": false
    }
  } ]
} */
.ltr {
  @import "../node_modules/bootstrap/scss/bootstrap";
}
/*rtl:end:options*/

Sass eta gero RTLCSS exekutatu ondoren, zure CSS fitxategietako hautatzaile bakoitza .ltr, eta .rtlRTL fitxategien aurretik jarriko da. Orain bi fitxategiak orri berean erabili ahal izango dituzu, eta zure osagaien bilgarrietan erabili .ltredo .rtlbeste norabide bat edo beste erabiltzeko.

Ertz kasuak eta muga ezagunak

Planteamendu hau ulergarria den arren, arreta jarri hurrengoei:

  1. .ltrEta aldatzean .rtl, ziurtatu direta langhorren arabera atributuak gehitzen dituzula.
  2. Bi fitxategiak kargatzea benetako errendimendu-botoia izan daiteke: kontuan hartu optimizazio batzuk eta, agian, saiatu fitxategi horietako bat modu asinkronoan kargatzen .
  3. Modu honetan habiatzeko estiloek gure form-validation-state()nahasketak nahi bezala funtzionatzea eragotziko dute, beraz, zuk zeuk apur bat moldatu beharko duzu. Ikusi #31223 .

Ogi mamiaren kasua

Ogi- bira- bereizlea bere aldagai berria eskatzen duen kasu bakarra da, hots $breadcrumb-divider-flipped, lehenetsia izatea $breadcrumb-divider.

Baliabide osagarriak