এসভিজি পজিশনিং


203

আমার এসভিজির সাথে একটি খেলা হচ্ছে এবং পজিশনিংয়ে কিছু সমস্যা হচ্ছে। আমার কাছে একটি সিরিজ আকার রয়েছে যা gগ্রুপ ট্যাগের মধ্যে রয়েছে। আমি এটি একটি ধারকের মতো ব্যবহার করার আশাবাদী ছিলাম, তাই আমি এর এক্স অবস্থান নির্ধারণ করতে পারি এবং তারপরে সেই গোষ্ঠীর সমস্ত উপাদানও স্থানান্তরিত হবে। তবে তা সম্ভব হবে বলে মনে হয় না।

  1. বেশিরভাগ লোকেরা কীভাবে এমন উপাদানগুলির একটি গোষ্ঠী তৈরি করার বিষয়ে যেতে পারেন যা আপনি টেন্ডেমে যেতে চান?
  2. আপেক্ষিক অবস্থানের কোনও ধারণা আছে? যেমন এর পিতামাতার সাথে সম্পর্কিত to

উত্তর:


276

জি উপাদানগুলির সমস্ত কিছু বর্তমান ট্রান্সফর্ম ম্যাট্রিক্সের তুলনায় অবস্থিত।

সামগ্রীটি স্থানান্তর করতে, কেবলমাত্র জি উপাদানটিতে রূপান্তরটি রাখুন:

<g transform="translate(20,2.5) rotate(10)">
    <rect x="0" y="0" width="60" height="10"/>
</g>

লিঙ্কগুলি: এসভিজি 1.1 স্পেস থেকে উদাহরণ


73

পূর্বের উত্তরের একটি সংক্ষিপ্ত বিকল্প রয়েছে। এসভিজি এলিমেন্টগুলি এসওজি উপাদানগুলিকে বাসা বেঁধে গ্রুপযুক্ত করা যায়:

<svg xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink">
  <svg x="10">
    <rect x="10" y="10" height="100" width="100" style="stroke:#ff0000;fill: #0000ff"/>
  </svg>
  <svg x="200">
    <rect x="10" y="10" height="100" width="100" style="stroke:#009900;fill: #00cc00"/>
  </svg>
</svg>

দুটি আয়তক্ষেত্র একরকম (রঙগুলি বাদে) তবে পিতামাতার এসভিজি উপাদানগুলির বিভিন্ন এক্স মান রয়েছে।

Http://tutorials.jenkov.com/svg/svg-element.html দেখুন


33
ঠিক আছে, এসভিজি উপাদানটিও একটি গ্রুপিং উপাদান হতে পারে। আমি উল্লেখ করতে চেয়েছিলাম যে এসভিজি উপাদানটি ডিফল্টরূপে ক্লিপিং প্রয়োগ করে (অন্তত ক্রোমে এই মুহূর্তে)। এর অর্থ কোনও ওভারফ্লো দৃশ্যমান হবে না। "G" উপাদানটির বিপরীতে। কেবলমাত্র ওভারফ্লো = "দৃশ্যমান" সেট করুন এবং আপনি ব্যবসায় ফিরে আসবেন, যদি এটি আপনাকে কামড় দেয়।
ব্লেডম্যান

1
: যদি আপনি শতকরা সঙ্গে উপাদানের একটি গ্রুপ অনুবাদ করতে চান এটা দরকারী stackoverflow.com/a/17103928/470117
MEMs

14
জি-এর পরিবর্তে এসভিজি ব্যবহারে কোনও ত্রুটি আছে কি?
গ্রাভানটোট

34

অন্যান্য মন্তব্যে উল্লিখিত হিসাবে, উপাদানটির transformবৈশিষ্ট্যটি gযা আপনি চান তা। আশেপাশে transform="translate(x,y)"স্থানান্তর করতে ব্যবহার করুন gএবং জিনিসগুলির gসাথে সম্পর্ক পরিবর্তন করবে g


22

একাধিক এসভিজি আকার এবং গ্রুপটি স্থাপনের দুটি উপায় রয়েছে:

হারুন লিখেছেন হিসাবে বৈশিষ্ট্য <g>সঙ্গে প্রথম ব্যবহার transform। তবে আপনি কেবল উপাদানটিতে কোনও xবৈশিষ্ট্য ব্যবহার করতে পারবেন না <g>

অন্য উপায় হল নেস্টেড <svg>উপাদান ব্যবহার করা ।

<svg id="parent">
   <svg id="group1" x="10">
      <!-- some shapes -->
   </svg>
</svg>

এইভাবে, # গোষ্ঠী 1 এসভিজি # x=10পিতা বা মাতাতে বাসা বাঁধে এবং পিতামহীন এসভিজির সাথে সম্পর্কিত। তবে আপনি উপাদানটিতে transformঅ্যাট্রিবিউট ব্যবহার করতে পারবেন না এটি <svg>উপাদানটির সম্পূর্ণ বিপরীত <g>


13
কেন অন্য সব এসভিজি ট্যাগের মধ্যে <g> অক্ষ এবং y বৈশিষ্ট্য নেই? এটা মানে যে অবস্থানে সবসময় একটি <SVG> ... কোন আপেক্ষিক অবস্থানে পরম,
reuns

2
ওপেন সোর্স কমিটিগুলি এর মতো।
মুহাম্মদ উমর

আমি সম্মত ... এটি একটি খারাপ নকশা পছন্দ মত মনে হচ্ছে। কেবলমাত্র একটি গ্রুপের এক্স-ট্রান্সফর্মকে
আইল্যাশ

9
@ ব্যবহারকারী ১৯৫২৯৯৯: একটি সুযোগ আছে - কেবল একটি সুযোগ - আপনি এসভিজিতে যে নকশার পছন্দগুলি বেছে নিয়েছেন তা আসলে বুঝতে পারছেন না।
পল ডি ওয়েট

3
<g> গ্রুপিংয়ের জন্য। এটি নিজের কোনও আকারকে উপস্থাপন করে না তাই এটির কোনও অবস্থান বা আকার থাকা কোনও অর্থই বোধ করবে না। যদিও এটি রূপান্তর বৈশিষ্ট্যটি বোধগম্য হয় , যা আপনি "পুরো গোষ্ঠীতে এই রূপান্তরটি প্রয়োগ করুন" এর মতো পড়তে পারেন।
আলকাফির 13'19
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.