সিএসএস "এবং" এবং "বা"


113

আমি বেশ বড় সমস্যা পেয়েছি, কারণ কিছু ইনপুট ধরণের স্টাইলিং থেকে আমার অ্যানথেমেটাইজ করা দরকার। আমার মতো কিছু ছিল:

.registration_form_right input:not([type="radio")
{
 //Nah.
}

তবে আমি চেকবক্সগুলিও স্টাইল করতে চাই না।

আমি চেষ্টা করেছিলাম:

.registration_form_right input:not([type="radio" && type="checkbox"])
.registration_form_right input:not([type="radio" && "checkbox"])
.registration_form_right input:not([type="radio") && .registration_form_right input:not(type="checkbox"])

কিভাবে ব্যবহার করবেন &&? এবং আমাকে ||শীঘ্রই ব্যবহার করা দরকার এবং আমি মনে করি ব্যবহার একই হবে।

আপডেট:
আমি কীভাবে ||এবং &&সঠিকভাবে ব্যবহার করতে পারি তা এখনও জানি না । আমি ডাব্লু 3 ডক্সে কিছু খুঁজে পাইনি।


17
"আনথমেটাইজ" ইয়েস। Peopleশ্বর প্রতিশোধের সাহায্যে চেকবক্সগুলিকে স্টাইল করার চেষ্টা করা লোকদের আপনি হুমকি দিতে চান? (আপনি সম্ভবত "অব্যাহতি" বা অনুরূপ বোঝাতে চেয়েছিলেন, উদাহরণস্বরূপ, "আমাকে স্টাইলিংয়ের নিয়ম থেকে কিছু ইনপুট ধরণের ছাড় দেওয়া দরকার" ")
টিজে ক্রাউডার

3
ঠিক আছে, আমি আমার ভাষা থেকে
ফ্রেসাল

4
আমি মনে করি @ টিজে ক্রোডার সম্ভবত এটি বুঝতে পেরেছিলেন। তবে এটি মজার ছিল ... বিশেষত তাঁর ভুল বানান '
ডেভিড বলেছেন মনিকা

উত্তর:


141

&& একাধিক নির্বাচককে একসাথে স্ট্রিং করে কাজ করে:

<div class="class1 class2"></div>

div.class1.class2
{
  /* foo */
}

আরেকটি উদাহরণ:

<input type="radio" class="class1" />

input[type="radio"].class1
{
  /* foo */
}

|| একাধিক নির্বাচককে কমা-এর সাথে পৃথক করে কাজ করে:

<div class="class1"></div>
<div class="class2"></div>

div.class1,
div.class2
{
  /* foo */
}

1
ঠিক আছে, আলোর জন্য ধন্যবাদ। আমি স্টাইলিং ফর্মগুলি ঘৃণা করি তবে এটি আমার কাজ, এবং সাইটটি আমার নয়। আমি ইনপুটগুলিতে ক্লাস প্রয়োগ করব।
মিসিউর

5
ইন্টারনেট এক্সপ্লোরার যা সমর্থন করে তার একটি কার্যকর চার্ট এখানে রয়েছে: এমএসডিএন.মাইক্রোসফট.ইন
লিবেরি

12
কে এখন আইই ব্যবহার করে :)
তারুন

2
notমনে হচ্ছে IE9 এর পর থেকে (@ জেফলির সরবরাহ করা চার্টকে ধন্যবাদ)।
শার্পসি

1
আমরা কি এখনও 2018 এর IE এর পুরানো সংস্করণগুলিকে সমর্থন করার সাথে উদ্বিগ্ন? মাইক্রোসফ্টও করে না।
অ্যানোমালি

48

এবং ( &&):

.registration_form_right input:not([type="radio"]):not([type="checkbox"])

বা ( ||):

.registration_form_right input:not([type="radio"]), 
   .registration_form_right input:not([type="checkbox"])

নাহ, খুব ব্যর্থ। এটি 1 থেকে 2 এবং 2 থেকে 1
মিসিউর

@ কেনিটিএম: দেখুন কমা ব্যবহার করে এরকম কিছু করা হবে:। নিবন্ধকরণ_রফর্ম_রাইট ইনপুট: ([টাইপ = "রেডিও"]) চেকবাক্স সহ যাবতীয় ক্ষেত্রে প্রযোজ্য হবে না এবং। নিবন্ধন_রফর্ম_রাইট ইনপুট: নয় ([টাইপ = "চেকবক্স"]) সবকিছুর জন্য প্রযোজ্য হবে রেডিও
মিসিউর

@ মিজিউর: অবশ্যই ২ য়টি "ওআর" (ওরফে ||) মামলার জন্য। আপডেট করতে আপডেট হয়েছে।
কেনেটিএম

1
@ কেনিটিএম: মিসিউর যা বলতে চাইছেন তা হ'ল ... আপনার "||" উদাহরণটি সিন্টেক্সিকভাবে সঠিক, তবে আপনি যদি ভাবটি সহজ করেন তবে এটি "" নিবন্ধন_রূপ_সারণ ইনপুট "হয়ে যায় কারণ দুটি নির্বাচকদের মিলনে সমস্ত ইনপুট অন্তর্ভুক্ত থাকে।
জিওফলি

@ জিও, @ মাইস: দেখুন, প্রশ্নটি জিজ্ঞাসা করেছিল "শীঘ্রই আমাকে ব্যবহার করতে হবে || খুব শীঘ্রই", সুতরাং ||উদাহরণগুলির মধ্যে একটি তৈরির উপায় এটি। অবশ্যই এটি সরলকরণের .registration_form_right inputপরে হয়ে যায় , তবে সারমর্মটি আপনি সেই ,হিসাবে ব্যবহার করেন|| । আপনি input:not([type="radio"]), input:not([name="foo"])একটি অনানুষ্ঠানিক উদাহরণের জন্য ব্যবহার করতে পারেন ।
কেনেটিএম

16

একটি উপাদান aএবং bএর বৈশিষ্ট্য নির্বাচন করতে X:

X[a][b]

কোনও উপাদান aবা bএর বৈশিষ্ট্য নির্বাচন করতে X:

X[a],X[b]

4

:notসিউডো-বর্গ আই ই দ্বারা সমর্থিত নয়। পরিবর্তে আমি এই জাতীয় কিছু পেতে চাই:

.registration_form_right input[type="text"],
.registration_form_right input[type="password"],
.registration_form_right input[type="submit"],
.registration_form_right input[type="button"] {
  ...
}

কিছু অনুলিপি সেখানে, তবে উচ্চতর সামঞ্জস্যের জন্য মূল্য দিতে এটি একটি ছোট দাম।


2

আপনি কোনওভাবে "ও" ব্যবহার করে & এবং: এর ব্যবহার পুনরুত্পাদন করতে পারেন।

SomeElement.SomeClass [data-statement="things are getting more complex"]  :not(:not(A):not(B))     {
    /* things aren't so complex for A or B */
}

2
দুঃখিত,: (না:) একটি বৈধ সিএসএস সিনট্যাক্স নয়। এটি যদিও jQuery এর সাথে কাজ করে।
সার্জ প্রোফাইলেসবুক

1

আমার ধারণা আপনি আরও নির্বাচক লিখতে এবং একটি কমা দ্বারা বিভক্ত করতে ঘৃণা করেন?

.registration_form_right input:not([type="radio"]),  
.registration_form_right input:not([type="checkbox"])  
{  
}

এবং এটি বিটিডাব্লু

not([type="radio" && type="checkbox"])  

আমার কাছে আরও "ইনপুট এর মতো দেখায় যা এই উভয় ধরণের নয়" :)


2
যে কাজ চাইলেন না, কারণ প্রথম নির্বাচক সব অ নির্বাচন হবে radio, (কিন্তু হবে নির্বাচন checkbox), এবং দ্বিতীয় বিপরীত করতে হবে। দুই ইউনিয়নের উভয় ধারণ করবে checkbox এবং radio
এরিক

প্রথম উদাহরণটি && তাদের একসাথে করবে না, এটি প্রথম নির্বাচকের জন্য রেডিও নয় এমন ইনপুটগুলিতে আগুন নেবে এবং চেকবক্স নয় এমন ইনপুট, যার অর্থ সমস্ত ইনপুট :-)
ড্যান এফ

আপনি ভুল. তারপরে, প্রথমটি দ্বিতীয়টিতে এবং দ্বিতীয়টিতে প্রথম প্রয়োগ করা হবে।
মিসিউর

1

ঠিক যদি কেউ আমার মতো আটকে থাকে। পোস্টটি যাওয়ার পরেও কিছু হিট ও ট্রায়াল এটি আমার পক্ষে কাজ করেছিল।

input:not([type="checkbox"])input:not([type="radio"])

1

সাবধানতা একটি শব্দ। বেশ কয়েকটি notনির্বাচককে একসাথে স্ট্রিং করার ফলে ফলাফল বাছাইকারী নির্বাচিতের সুনির্দিষ্টতা বৃদ্ধি পায়, যা আপনাকে ওভাররাইড করা আরও শক্ত করে তোলে: আপনাকে মূলত সমস্ত নোটের সাহায্যে নির্বাচককে খুঁজে বের করতে হবে এবং এটি আপনার নতুন নির্বাচককে কপি-পেস্ট করতে হবে।

বাছাই করা not(X or Y)নির্দিষ্টতা এড়াতে একজন নির্বাচক দুর্দান্ত হবেন, তবে আমি অনুমান করি যে আমাদের এই উত্তরের মতো বিপরীতগুলির সংমিশ্রণে লেগে থাকতে হবে ।

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