Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Melaksanakan Rendering CSS Bersyarat dalam Rails 3.1?

Bagaimanakah Saya Boleh Melaksanakan Rendering CSS Bersyarat dalam Rails 3.1?

DDD
Lepaskan: 2024-11-30 09:03:18
asal
339 orang telah melayarinya

How Can I Implement Conditional CSS Rendering in Rails 3.1?

Rendering CSS Bersyarat dalam Rails 3.1

Jalur paip aset Rails 3.1 menawarkan mekanisme berkuasa untuk mengurus aset statik, termasuk fail CSS. Walau bagaimanapun, memberikan CSS secara bersyarat berdasarkan kriteria tertentu boleh menjadi tugas yang mencabar.

Pendekatan Lalai

Secara lalai, perintah *= require_tree merangkumi semua fail CSS dalam direktori aset/lembaran gaya. Pendekatan ini boleh membawa kepada berkas CSS yang besar dan tidak boleh dibaca.

Kemasukan Fail Individu

Sebagai penyelesaian, anda boleh menentukan secara manual setiap fail CSS secara individu dalam application.css anda nyata. Walaupun kaedah ini menyediakan kawalan yang lebih halus, ia boleh membosankan dan tidak fleksibel.

Penyelesaian Lebih Pintar

Penyelesaian yang lebih elegan melibatkan penggunaan fail manifes yang berasingan untuk memecahkan keperluan CSS kepada kumpulan logik. Pendekatan ini membolehkan anda menambah lembaran gaya baharu secara automatik tanpa memerlukan pengeditan manual.

Langkah 1: Susun Semula Struktur Aset

Mulakan dengan menyusun semula folder apl/aset/stylesheets anda ke dalam struktur berikut:

  • semua: Mengandungi lembaran gaya asas anda dan sebarang helaian gaya yang digunakan pada semua paparan.
  • cetak: Mengandungi helaian gaya khusus untuk pencetakan.
  • iaitu: Mengandungi helaian gaya khusus untuk penyemak imbas Internet Explorer.
  • application-all.css: Fail manifes yang merangkumi semua fail CSS dalam direktori "semua".
  • application-print.css: Fail manifes yang merangkumi semua fail CSS dalam direktori "cetak".
  • application-ie.css: Fail manifes yang merangkumi semua fail CSS dalam direktori "iaitu".

Langkah 2: Edit Fail Manifes

Seterusnya, edit tiga fail manifes seperti yang ditunjukkan di bawah:

# application-all.css
*= require_self
*= require_tree ./all

# application-print.css
*= require_self
*= require_tree ./print

# application-ie.css
*= require_self
*= require_tree ./ie
Salin selepas log masuk

Langkah 3: Kemas Kini Reka Letak Aplikasi

Ubah suai reka letak aplikasi anda untuk memasukkan fail manifes baharu:

<%= stylesheet_link_tag "application-all", :media => "all" %>
<%= stylesheet_link_tag "application-print", :media => "print" %>

<!--[if lte IE 8]>
    <%= stylesheet_link_tag "application-ie", :media => "all" %>
<![endif]-->
Salin selepas log masuk

Langkah 4: Konfigurasikan Persekitaran Pengeluaran

Tambahkan fail manifes baharu pada anda config/environments/production.rb:

config.assets.precompile += %w( application-all.css application-print.css application-ie.css )
Salin selepas log masuk

Nota tentang Rujukan Imej

Sedar bahawa pendekatan pemaparan bersyarat ini mungkin menjejaskan rujukan imej dalam helaian gaya anda. Untuk memastikan pemuatan imej yang betul, anda boleh mengalihkan imej untuk mengikuti struktur folder yang sama, melayakkan laluan imej atau menggunakan url imej pembantu SASS('image.png').

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Rendering CSS Bersyarat dalam Rails 3.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan