আমি একটি কোডপেন ডেমো কাঁটাচামচ করেছি যা সিএসএসে ইনলাইন এসভিজি এম্বেড করার ক্ষেত্রে একই সমস্যা ছিল। এসসিএসএসের সাথে কাজ করে এমন একটি সমাধান হ'ল একটি সাধারণ ইউআরএল-এনকোডিং ফাংশন তৈরি করা।
একটি স্ট্রিং প্রতিস্থাপন ফাংশনটি অন্তর্নির্মিত আরআর-স্লাইস, টিআর-ইনডেক্স ফাংশনগুলি থেকে তৈরি করা যেতে পারে ( সিএসএস-কৌশলগুলি দেখুন see আরআর , হুগো জিরাডেলের ধন্যবাদ) ।
তারপর, শুধু প্রতিস্থাপন %
, <
, >
, "
, '
,
সঙ্গে %xx
কোড:
@function svg-inline($string){
$result: str-replace($string, "<svg", "<svg xmlns='http://www.w3.org/2000/svg'");
$result: str-replace($result, '%', '%25');
$result: str-replace($result, '"', '%22');
$result: str-replace($result, "'", '%27');
$result: str-replace($result, ' ', '%20');
$result: str-replace($result, '<', '%3C');
$result: str-replace($result, '>', '%3E');
@return "data:image/svg+xml;utf8," + $result;
}
$mySVG: svg-inline("<svg>...</svg>");
html {
height: 100vh;
background: url($mySVG) 50% no-repeat;
}
এখানে আরো একটা image-inline
কমপাসে সহায়ক ফাংশনও রয়েছে তবে এটি কোডপেনে সমর্থিত না হওয়ায় সম্ভবত এই সমাধানটি কার্যকর হতে পারে।
কোডপেনে ডেমো: http://codepen.io/terabaud/details/PZdaJo/