هذا عبارة عن polyfill CSS خالص يستخدم PostCSS لمحاكاة الفجوة المرنة باستخدام الهوامش.
margin: auto
أو background
.قم بعرض الصفحة التجريبية لحالات الاختبار المختلفة للبوليفيل قيد التنفيذ.
. container {
display : flex;
gap : 40 px ;
}
يصبح:
/* Output simplified for purpose of example */
. container > * {
--fgp-parent-gap-row : 40 px ;
--fgp-parent-gap-column : 40 px ;
--fgp-margin-top : calc ( var ( --fgp-gap-row ) + var ( --orig-margin-top , 0 px ));
--fgp-margin-left : calc (
var ( --fgp-gap-column ) + var ( --orig-margin-left , 0 px )
);
margin-top : var ( --fgp-margin-top );
margin-left : var ( --fgp-margin-left );
}
. container {
--fgp-gap : var ( --has-fgp , 40 px );
--fgp-gap-row : 40 px ;
--fgp-gap-column : 40 px ;
--fgp-margin-top : calc (
var ( --fgp-parent-gap-row , 0 px ) - var ( --fgp-gap-row ) + var ( --orig-margin-top , 0 px )
);
--fgp-margin-left : calc (
var ( --fgp-parent-gap-column , 0 px ) - var ( --fgp-gap-column ) + var ( --orig-margin-left , 0 px )
);
display : flex;
gap : var ( --fgp-gap , 0 px );
margin-top : var ( --fgp-margin-top , var ( --orig-margin-top ));
margin-left : var ( --fgp-margin-left , var ( --orig-margin-left ));
}
يحاكي polyfill الفجوة المرنة عن طريق إضافة هوامش لكل عنصر فرعي وتطبيق هامش سلبي على الحاوية.
display: flex
gap
في نفس القاعدة (راجع الخيارات لمعرفة طرق التحسين)margin: auto
أو background
)gap
، row-gap
وفجوة column-gap
يدعم جميع المتصفحات الحديثة الحالية، Edge وFirefox وChrome وSafari وOpera (أي متصفح يدعم calc()
و var()
).
أضف Flex Gap Polyfill إلى مشروعك:
npm install flex-gap-polyfill postcss --save-dev
استخدم Flex Gap Polyfill لمعالجة CSS الخاص بك:
const flexGapPolyfill = require ( "flex-gap-polyfill" ) ;
flexGapPolyfill . process ( YOUR_CSS /*, processOptions, pluginOptions */ ) ;
أو استخدمه كمكون إضافي لـ PostCSS:
const postcss = require ( "postcss" ) ;
const flexGapPolyfill = require ( "flex-gap-polyfill" ) ;
postcss ( [ flexGapPolyfill ( /* pluginOptions */ ) ] ) . process (
YOUR_CSS /*, processOptions */
) ;
only
النوع : صفيف الافتراضي : غير محدد
عندما يتم تطبيق polyfill true
فقط عند display: flex | inline-flex
يتم استخدام display: flex | inline-flex
و gap
في نفس القاعدة. قم بتوفير مجموعة من المحددات لمطابقة القواعد الإضافية. يمكن أن تكون strings
أو regexes
. قم بتضمين /* apply fgp */
ضمن القاعدة لتطبيق polyfill يدويًا.
flexGapNotSupported
النوع : سلسلة افتراضية : خطأ
حدد يدويًا محددًا لاستخدامه عندما لا تكون الفجوة المرنة مدعومة عن طريق الاكتشاف عبر JavaScript، على سبيل المثال flexGapNotSupported: '.flex-gap-not-supported'
.
webComponents
النوع : منطقي افتراضي : خطأ
عندما يستهدف polyfill true
أيضًا العناصر ذات فترة زمنية محددة