معلومة

كل كلب يحتاج إلى طفل svg


كل كلب يحتاج إلى طفل svg أيقونة

بدأنا في استخدام svg و webpack + postcss لتبسيط عمليتنا في بناء واجهة المستخدم (https://github.com/Nordada/Nordada.Projects/tree/master/client/components/nordada-svg-icons)

كان يعمل بشكل مثالي حتى قررت تغيير اللون الأساسي للرمز.

هذا هو ملف svg الأصلي:

هذه هي النتيجة عندما أقوم بتعيين الخلفية: الأزرق (نستخدم اللون الأزرق لأنه لون مشروعنا):

عندما تغير اللون والآن لم يعد يعمل ملف svg الأصلي! ما أحتاجه هو اللون الأزرق الأصلي. حاولت البحث ولكن لم أجد أي شيء متعلق بالمشكلة. أعتقد أنه بسبب نوع من التعتيم أو الظل للخلفية ولكني لست متأكدًا مما يمكن أن يكون المشكلة.

أ:

ملفات Svg هي مجرد سلسلة ، ولهذا السبب لا يمكنك تغيير لونها باستخدام CSS ، ومع ذلك ، يمكنك إنشاء لون مخصص لكل رمز.

ستحتاج إلى كائن لتتبع أيقوناتك وفئة ألوان لتطبيقها.

أولاً سننشئ أيقوناتنا:

const IconArray = {

الدائرة: '& lt، svg width = "25" height = "25" viewBox = "0 0 25 25" xmlns = "http://www.w3.org/2000/svg" & gt، & lt، Circle cx = "10 "cy =" 10 "r =" 9 "stroke =" black "stroke-width =" 1 "& gt، & lt، / circle & gt، & lt، / svg & gt، '،

زائد: '& lt، svg width = "25" height = "25" viewBox = "0 0 25 25" xmlns = "http://www.w3.org/2000/svg" & gt، & lt، دائرة cx = "10 "cy =" 10 "r =" 9 "stroke =" black "stroke-width =" 1 "fill =" red "& gt، & lt، / circle & gt، & lt، / svg & gt، '،

مربع: '& lt، svg width = "25" height = "25" viewBox = "0 0 25 25" xmlns = "http://www.w3.org/2000/svg" & gt، & lt، Circle cx = "10 "cy =" 10 "r =" 9 "stroke =" black "stroke-width =" 1 "fill =" red "& gt، & lt، / circle & gt، & lt، / svg & gt، '

},

const iconPath = document.getElementById ("iconPath") ،

رمز const = document.getElementById ("icon") ،

دالة createIcon () {

دع iconPath = document.createElement ('i') ،

iconPath.className = "icon" ،

iconPath.setAttribute ("class"، "icon - plus")،

دعونا svg = document.createElement ('svg') ،

svg.className = "svg - icon" ،

svg.setAttribute ("viewBox"، "0 0 25 25")،

svg.setAttribute ("العرض"، "25")،

svg.setAttribute ("الارتفاع"، "25")،

svg.setAttribute ("viewBox"، "0 0 25 25")،

دع الدائرة = document.createElement ("دائرة") ،

Circle.setAttribute ("cx"، "10")،

Circle.setAttribute ("cy"، "10")،

Circle.setAttribute ("r"، "9")،

Circle.setAttribute ("stroke"، "black")،

Circle.setAttribute ("عرض الشوط" ، "1") ،

Circle.setAttribute ("ملء" ، "أحمر") ،

svg.appendChild (دائرة) ،

iconPath.appendChild (svg) ،

icon.appendChild (iconPath) ،

}

// أحتاج إلى تطبيق هذه الوظيفة على كل من كائناتي

نمط const = document.querySelectorAll ('. box-wrapper')

لـ (let i = 0، i & lt، style.length، i ++) {

addIcon (النمط [i])

}

/*

هذا هو CSS الذي أحاول تطبيقه على الكائن

*/

.box-wrapper {

الموضع: نسبي ،

الهامش: تلقائي ،

الهامش العلوي: 10 بكسل ،

الهامش السفلي: 10 بكسل ،

لون الخلفية: برتقالي ،

المساحة المتروكة: 12 بكسل ،

المساحة المتروكة: 12 بكسل ،

المساحة المتروكة: 10 بكسل ،

المساحة المتروكة لليمين: 10 بكسل ،

}

.box-wrapper: التمرير فوق {

المؤشر: المؤشر ،

}

.box-wrapper .box-title {

حجم الخط: 24 بكسل ،

لون أسود،

المساحة المتروكة: 0 بكسل ،

المساحة المتروكة: 20 بكسل ،

}

.box-wrapper .box-bottom {

حجم الخط: 13 بكسل ،

المساحة المتروكة: 0 بكسل ،

المساحة المتروكة: 20 بكسل ،

}

.box-wrapper .box-content {

حجم الخط: 15 بكسل ،

المساحة المتروكة: 30 بكسل ،

المساحة المتروكة: 50 بكسل ،

}

.box-wrapper .box-content h1 {

حجم الخط: 24 بكسل ،

المساحة المتروكة: 50 بكسل ،

لون أسود،

محاذاة النص: مركز ،

}

& lt، script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" & gt، & lt، / script & gt،

& lt، div class = "box-wrapper" & gt،

& lt، div class = "box-title" & gt،

& lt، h2 & gt، Title & lt، / h2 & gt،

& lt ، / div & gt ،

& lt، div class = "box-bottom" & gt،

& lt، h2 & gt، Title & lt، / h2 & gt،

& lt ، / div & gt ،

& lt، div class = "box-content" & gt،

& lt ، h1 & gt ، نص & lt ، / h1 & gt ،

& lt ، / div & gt ،

& lt ، / div & gt ،

أ:

إذا كنت تستخدم Bootstrap. يجب ألا تستخدم الحشو لإضافة مسافة بين عناصرك ، ولكن بدلاً من ذلك أضف بعض الهامش إلى صفوفك. لذلك إذا كان لديك عمودين بفجوة 15 بكسل ، فأنت تضيف هامشًا: 0 بكسل 0 بكسل 15 بكسل 15 بكسل على الأعمدة

& lt، div class = "contner" & gt،

& lt، div class = "row" & gt،

& lt، div class = "col-xs-12 col-sm-6" & gt،

& lt، div class = "box-wrapper" & gt،

& lt، div class = "box-title" & gt،

& lt، h2 & gt، Title & lt، / h2 & gt،

& lt ، / div & gt ،

& lt، div class = "box-bottom" & gt،

& lt، h2 & gt، Title & lt، / h2 & gt،


شاهد الفيديو: تدريب الكلاب على الحمام التوليت (كانون الثاني 2022).

Video, Sitemap-Video, Sitemap-Videos