Pertimbangkan a<card></card>
komponen. Ia tidak sepatutnya bersebelahan dengan komponen lain tanpa jarak. Ini terpakai kepada hampir setiap komponen. Jadi, bagaimanakah jarak komponen diuruskan dalam sistem reka bentuk?
Sekiranya jarak digunakan terus ke<card></card>
Menggunakan margin (contohnya, margin-block-end: 1rem; margin-inline-end: 1rem;
)? Ini bermasalah kerana ia menganggap konteks penempatan kad. Bagaimana jika kad bersarang dalam a<grid></grid>
Komponen yang sudah menggunakan gap: 1rem
? Ini mewujudkan konflik dan nilai jarak berkod keras.
Beberapa pendekatan wujud, masing-masing dengan perdagangan:
<card space="xxl"></card>
). Ini boleh menjadi verbose, berpotensi memerlukan pelbagai alat untuk arah yang berbeza.<spacer></spacer>
atau<layout></layout>
semata -mata untuk jarak. Ini secara bersih memisahkan kebimbangan tetapi boleh menambah unsur -unsur dan kerumitan DOM yang tidak perlu.Penyelesaian yang optimum adalah masalah perdebatan. Walaupun sesetengah peguam bela untuk menghapuskan margin sepenuhnya, pendekatan yang lebih pragmatik adalah untuk memisahkan susun atur dan kebimbangan jarak dari fungsi komponen teras. Komponen kandungan harus agnostik terhadap penempatan mereka, yang membolehkan mekanisme susun atur peringkat tinggi untuk mengendalikan jarak.
Peningkatan penggunaan gap
dalam Flexbox dan Grid mencadangkan peralihan dari bergantung semata -mata pada margin. Trend ini sejajar dengan keinginan untuk susun atur yang lebih deklaratif dan dikekalkan.
Atas ialah kandungan terperinci Jarak komponen dalam sistem reka bentuk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!