সাস এবং সংযুক্ত শিশু নির্বাচনকারী


125

আমি সাসকে সবেমাত্র আবিষ্কার করেছি এবং আমি এটি সম্পর্কে খুব উচ্ছ্বসিত হয়েছি

আমার ওয়েবসাইটে আমি গাছের মতো নেভিগেশন মেনু প্রয়োগ করি, শিশু সংযোজক ( E > F) ব্যবহার করে স্টাইলযুক্ত ।

সাসে আরও সহজ (বা আরও ভাল) সিনট্যাক্স সহ এই কোডটি পুনরায় লেখার কোনও উপায় আছে কি ?

#foo > ul > li > ul > li > a {
  color: red;
}

আমি মনে করি "সরল / উন্নত" ওপির অর্থ "এমনভাবে যেভাবে শ্রেণিবিন্যাস নির্দেশ করতে হোয়াইটস্পেস ব্যবহার করে"
— jsejcksn

উত্তর:


222

সম্মিলিত শিশু বাছাইকারী ছাড়া আপনি সম্ভবত এর সাথে কিছু করতে পারেন:

foo {
  bar {
    baz {
      color: red;
    }
  }
}

আপনি যদি একই সিনট্যাক্সের সাথে পুনরায় উত্পাদন করতে চান তবে আপনি এটি করতে পারেন >:

foo {
  > bar {
    > baz {
      color: red;
    }
  }
}

এটি এটি সংকলন:

foo > bar > baz {
  color: red;
}

বা সাসে:

foo
  > bar
    > baz
      color: red

2
এটি কেবল এটি দীর্ঘ করতে চলেছে, তাই না?
— বোলটলক

1
আমি যদিও এটি ওপি চায়
— আর্নাড লে ব্ল্যাঙ্ক

1
সুন্দর ধন্যবাদ. বিটিডব্লিউ, যেমন বোল্টক্লক বলেছেন, দীর্ঘতর (এবং আমার পক্ষে কিছুটা কুরুচিপূর্ণ)। মনে হচ্ছে আমাকে আমার পুরানো স্টাইলিংয়ের সাথে থাকতে হবে।
— ফ্রেডস

1
আপনাকে "নিখর সিনট্যাক্স" সংজ্ঞায়িত করতে হবে;)
— আরনাড লে ব্ল্যাঙ্ক

18

আপনার কাছে থাকা একক নিয়মের জন্য এটি করার কোনও ছোট উপায় নেই। সিএসএস এবং স্যাস / এসসিএসএসে চাইল্ড কম্বিনেটর সমান এবং এর বিকল্প নেই।

তবে, যদি আপনার একাধিক নিয়ম থাকে:

#foo > ul > li > ul > li > a:nth-child(3n+1) {
    color: red;
}

#foo > ul > li > ul > li > a:nth-child(3n+2) {
    color: green;
}

#foo > ul > li > ul > li > a:nth-child(3n+3) {
    color: blue;
}

আপনি নিম্নলিখিতগুলির মধ্যে একটিকে ঘনীভূত করতে পারেন:

/* Sass */
#foo > ul > li > ul > li
    > a:nth-child(3n+1)
        color: red
    > a:nth-child(3n+2)
        color: green
    > a:nth-child(3n+3)
        color: blue

/* SCSS */
#foo > ul > li > ul > li {
    > a:nth-child(3n+1) { color: red; }
    > a:nth-child(3n+2) { color: green; }
    > a:nth-child(3n+3) { color: blue; }
}

সুতরাং সম্মিলিত শিশু নির্বাচকের জন্য কোনও রূপান্তর নেই ... সম্ভবত এর কোনও বিকল্প আছে?
— ফ্রেডস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.