সিএসএসে নিয়মিত অভিব্যক্তি ব্যবহার করছেন?


127

আমি আছে divs আছে সঙ্গে একটি HTML পেজ আছে আইডি ফর্মের (গুলি) S1 , S2 ইত্যাদি।

<div id="sections">
   <div id="s1">...</div>
   <div id="s2">...</div>
   ...
</div>

আমি এই বিভাগগুলি / ডিভিডসের একটি উপসেটে (আইডির উপর নির্ভর করে) একটি সিএসএস সম্পত্তি প্রয়োগ করতে চাই। যাইহোক, প্রতিবার আমি একটি ডিভ যুক্ত করার সময় , আমাকে এই বিভাগটির জন্য আলাদাভাবে সিএসএস যুক্ত করতে হবে।

//css
#s1{
...
}

সিএসএসে নিয়মিত প্রকাশের মতো কিছু আছে যা আমি ডিভসের একটি সেটতে স্টাইল প্রয়োগ করতে পারি ।


9
আপনি সম্ভবত classএই আইডি সহ উপাদানগুলির শ্রেণি সনাক্ত করতে বৈশিষ্ট্যটি ব্যবহার করা উচিত
লিগি

উত্তর:


191

পূর্ববর্তী উত্তরগুলি যেমন দেখায় তেমন কোনও উপাদান হিসাবে আপনি রেজিেক্সের বিন্যাস ছাড়াই সেই উপাদানগুলি নির্বাচন করে পরিচালনা করতে পারেন, তবে প্রশ্নের সরাসরি উত্তর দিতে হ্যাঁ আপনি নির্বাচকদের মধ্যে একটি রূপরেখা ব্যবহার করতে পারেন:

#sections div[id^='s'] {
    color: red;  
}

এটি বলে যে # সেকশন ডিভের অভ্যন্তরে এমন কোনও ডিভ উপাদান নির্বাচন করুন যা চিঠিটি 'গুলি' দিয়ে শুরু হবে ID

ঝাঁকুনি এখানে দেখুন ।

ডাব্লু 3 সিএসএস নির্বাচক ডক্স এখানে


1
এটি সিএসএস 2.1 এর জন্য একটি সুপারিশে ছিল; এটি আইই 7, অপেরা 9 ইত্যাদি দ্বারা সমর্থিত Source উত্স: বিকাশকারী.মোজিলা.আর.ইন.ইউএস
মাইক এস

2
তুমি আমার দিন টাকে সুন্দর করেছ. আমি এটিকে ব্যবহারকারী-কনফিগারযোগ্য করে তুলতে কিছু উন্নত সিএসএস নির্বাচককে ক্রলারে অন্তর্ভুক্ত করতে চেয়েছিলাম। যে ^ = চ ****** মরুভূমির জলের মতো ছিল।
ডিজিওকো

59

এই উত্তরের পরিপূরক হিসাবে আপনি $শেষ ম্যাচগুলি *পেতে এবং মান নামের যে কোনও জায়গায় ম্যাচগুলি পেতে ব্যবহার করতে পারেন ।

মেলে যে কোন জায়গায়: .col-md, .left-col, .col, .tricolor, ইত্যাদি

[class*="col"]

শুরুতে সাথে মেলে: .col-md, .col-sm-6, ইত্যাদি

[class^="col-"]

শেষের দিকে মেলে: .left-col, .right-col, ইত্যাদি

[class$="-col"]

(আমি জানি এটি পাগল শোনায় তবে) প্রতিটি ম্যাচ দিয়ে "ধ্বংস" করা কি সম্ভব?
ওয়াল্টার

24

একটি আইডি বোঝানো হচ্ছে উপাদানটি অনন্যভাবে চিহ্নিত করা । এতে প্রয়োগ হওয়া কোনও শৈলীও সেই উপাদানটির জন্য অনন্য হওয়া উচিত। আপনার যদি শৈলী থাকে তবে আপনি অনেকগুলি উপাদানের কাছে প্রয়োগ করতে চান , আপনার আইডি নির্বাচকদের উপর নির্ভর না করে তাদের সকলের মধ্যে একটি ক্লাস যুক্ত করা উচিত ...

<div id="sections">
   <div id="s1" class="sec">...</div>
   <div id="s2" class="sec">...</div>
   ...
</div>

এবং

.sec {
    ...
}

বা আপনার নির্দিষ্ট ক্ষেত্রে আপনি আপনার মূল পাত্রে সমস্ত বিভাগ নির্বাচন করতে পারেন, যদি এর মধ্যে অন্য কিছু না থাকে তবে:

#sections > div {
    ...
}

10

প্রথমত, এইচটিএমএল ডকুমেন্টের মধ্যে আইটেমের মিলের অনেকগুলি উপায় রয়েছে। উপলব্ধ কিছু নির্বাচক / নিদর্শনগুলি দেখুন যা আপনি কোনও উপাদানগুলিতে স্টাইলের বিধি প্রয়োগ করতে ব্যবহার করতে পারেন তা দেখতে এই রেফারেন্সটি দিয়ে শুরু করুন।

http://www.w3.org/TR/selectors/

divপ্রত্যক্ষের বংশধর সকলের সাথে মিল দিন #main

#main > div

সাথে মেলাতে divগুলি যার প্রত্যক্ষ বা পরোক্ষ উত্তরপুরুষ #main

#main div

প্রথমটি মিলান divযা এর প্রত্যক্ষ বংশধর #sections

#main > div:first-child

divএকটি নির্দিষ্ট বৈশিষ্ট্যের সাথে একটি মেলে ।

#main > div[foo="bar"]

5

আপনি নিজের প্রতিটি ডিআইভিতে কেবল একটি ক্লাস যুক্ত করতে পারেন এবং নিয়মটি ক্লাসে এভাবে প্রয়োগ করতে পারেন:

এইচটিএমএল:

<div class="myclass" id="s1">...</div>
<div class="myclass" id="s2">...</div>

সিএসএস:

//css
.myclass
{
   ...
}

3
এছাড়াও একটি সাধারণ নিয়ম হিসাবে আমি আইডি নির্বাচনকারীদের সাথে জিনিসগুলি স্টাইল না করার চেষ্টা করি। এটি সুনির্দিষ্ট করে তোলে যাতে তারা ওভাররাইড করা আরও শক্ত হয় যা সাধারণত এটি আমার অভিজ্ঞতার তুলনায় বেশি ক্ষতি করে hur আমি আইডি ব্যবহার করি ... শুধু সিএসএস প্রয়োগের জন্য নয়।
প্রোডিজিটালসন

আমি বলছিলাম যে আমি আইডি নির্বাচকদের ব্যবহার এড়াতে চেষ্টা করি কারণ আপনি যদি পরে শৈলীটি ওভাররাইড করতে যান (একটি নির্দিষ্ট পৃষ্ঠার জন্য বলি) তবে আপনি সেই একই নির্বাচককে ব্যবহার করতে হবে + আপনি আরও যা ব্যবহার করতে পারেন ব্যবহার করতে পারেন মূল নির্বাচক তুলনায় নির্দিষ্ট। খারাপ না .thepage #someidতবে কেবল এটি উন্নত টেবিল বা তালিকার স্টাইলিংয়ে সত্যই দীর্ঘায়িত হতে পারে। এটি আপনার উত্তরের সমালোচনা এতটা
কমেনি

0

আমি সাধারণত *যখন আমি চাইত অক্ষরগুলি ধারণ করে এমন সমস্ত স্ট্রিং পেতে চাই তখন ব্যবহার করি।

* রেজেক্সে ব্যবহৃত, সমস্ত অক্ষর প্রতিস্থাপন করে।

এসএএসএস বা সিএসএসে ব্যবহৃত হ'ল [id*="s"]এটির মতো এবং এটি "এস ......" আইডি সহ সমস্ত ডোম উপাদান পাবেন।

/* add red color to all div with id s .... elements */

div[id^="s"] {
    color: red;
}

-4

আমার জেনেরিক সিএসএস নিয়মিত এক্সপ্রেশন চেষ্টা করুন

(([a-z]{5,6}.*?\))|([\d.+-]?)(?![a-z\s#.()%])(\d?\.?\d?)?[a-z\d%]+)|(url\([/"'][a-z:/.]*['")]\))|(rgb|hsl)a?\(\d+%?,?\s?\d+%?,?\s?\d+%?(,\s?\d+\.?\d?)?\)|(#(\w|[\d]){3,8})|([\w]{3,8}(?=.*-))

ডেমো https://regexr.com/4a22i


-11

সিএসএসেও নির্দিষ্ট উপাদান নির্বাচন করার আরও একটি সহজ উপায় রয়েছে ...

#s1, #s2, #s3 {
    // set css attributes here
}

আপনার যদি কেবল কয়েকটি উপাদান বেছে নিতে থাকে এবং ক্লাসগুলি নিয়ে বিরক্ত করতে চান না, এটি খুব সহজেই কাজ করবে।


3
@ অস্টিনহেনলি বকোজ এই সমাধান নয়। আমি প্রশ্নে উল্লিখিত হিসাবে আমি সিএসএসের নিয়মগুলি সম্পাদন করতে চাই না।
অঙ্কিত

এটি একটি ডাউনভোটের প্রাপ্য নয়। উদাহরণস্বরূপ, যদি আপনি জানতেন যে সর্বাধিক 10 ডিভ রয়েছে, আপনি # এস 1 থেকে # এস 10 লাগাতে পারেন এবং আপনাকে নির্বাচকদের স্পর্শ করতে হবে না। এটি করার সঠিক উপায়টি ক্লাসগুলির সাথে রয়েছে তবে এই সমাধানটি আপনার অনুমানগুলি গ্রহণ করছে এবং একটি সমাধানের চেষ্টা করছে।
jcuenod

4
এই প্রদত্ত অবস্থার জন্য এটি সম্ভাব্য কর্মক্ষেত্র কিনা তা আসলেই কিছু যায় আসে না। এই উত্তরটি মোটেও প্রশ্নের উত্তর দেয় না কারণ সর্বাধিক প্রাথমিক সিএসএস জ্ঞানের সাথে যে কেউ একাধিক নির্বাচক বা ক্লাস কীভাবে ব্যবহার করতে হয় তা জানেন।
জয়ন্ত ভাওয়াল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.