পটভূমি: কিছুই নেই বনাম পটভূমি: স্বচ্ছ কি পার্থক্য?


119

এই দুটি সিএসএস বৈশিষ্ট্যের মধ্যে কোনও পার্থক্য রয়েছে :

background: none;
background: transparent;
  1. তারা উভয় বৈধ?
  2. কোনটি ব্যবহার করা উচিত এবং কেন?

উত্তর:


111

তাদের মধ্যে কোনও পার্থক্য নেই।

আপনি যদি অর্ধ-ডজন বৈশিষ্ট্যের যে backgroundকোনওটির জন্য একটি সংক্ষিপ্ত বিবরণ নির্দিষ্ট না করেন , তবে এটি তার ডিফল্ট মানতে সেট করা আছে। noneএবং transparentডিফল্ট হয়।

এক স্পষ্টভাবে সেট করে background-imageকরতে noneএবং পরোক্ষভাবে সেট করে background-colorকরতে transparent। অন্যটি অন্যদিকে।


2
@ হেরম্যান - না, তারা পারবে না। এই হিসাবে একই background-color: transparent; background-image: none;। কোনও ব্যবহারকারী স্টাইলশীট সেই মানগুলির একটি বা উভয়কেই ওভাররাইড করতে পারে তবে এটি ঠিক এমনভাবে করবে যেমন background-color: transparent; background-image: none;স্পষ্টভাবে লেখা হয়েছিল।
— কোয়ান্টিন

সুতরাং, আপনি বলছেন "প্রাথমিক" সম্পত্তি মান (যা অনির্দিষ্ট বৈশিষ্ট্যগুলির জন্য ব্যবহৃত হয়) এমনকি ব্যবহারকারী এজেন্ট স্টাইলশিটগুলিকেও ওভাররাইড করে? আপনার কোন রেফারেন্স আছে?
— Herman

ইউজার এজেন্ট স্টাইলশীট বৈশিষ্ট, যা হিসাবে যারা বৈশিষ্ট্য প্রাথমিক সম্পত্তি মান সংজ্ঞায়িত করে বাস্তবায়ন transparentএবং none।
— কোয়ান্টিন

63

@ কুইন্টিন উত্তরের অ্যাডিশনাল তথ্য হিসাবে এবং তিনি যথাযথভাবে বলেছেন যে backgroundসিএসএস সম্পত্তি নিজেই এটির জন্য একটি সংক্ষিপ্ত বিবরণ:

background-color
background-image
background-repeat
background-attachment
background-position

এর অর্থ, আপনি সমস্ত স্টাইলকে একটিতে গ্রুপ করতে পারেন, যেমন:

background: red url(../img.jpg) 0 0 no-repeat fixed;

এটি হবে (এই উদাহরণে):

background-color: red;
background-image: url(../img.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0 0;

সুতরাং ... আপনি যখন সেট করবেন: background:none;
আপনি বলছেন যে সমস্ত পটভূমি বৈশিষ্ট্য কোনওটির জন্য সেট করা নেই ...
আপনি তা background-image: none;এবং অন্যান্য সমস্ত initialরাজ্যে বলছেন (যেহেতু তারা ঘোষণা করা হচ্ছে না)।
সুতরাং, background:none;হয়:

background-color: initial;
background-image: none;
background-repeat: initial;
background-attachment: initial;
background-position: initial;

এখন, যখন আপনি কেবল রঙটি নির্দিষ্ট করেন (আপনার ক্ষেত্রে transparent) তখন আপনি মূলত:

background-color: transparent;
background-image: initial;
background-repeat: initial;
background-attachment: initial;
background-position: initial;

আমি পুনরাবৃত্তি করেছি, যেমন @ কুইন্টিন ঠিক বলেছেন যে এই ক্ষেত্রে মান default transparentএবং noneমান একই, তাই আপনার উদাহরণে এবং আপনার মূল প্রশ্নের জন্য, না, তাদের মধ্যে কোনও পার্থক্য নেই।

তবে! .. যদি আপনি background:noneভীস বলেন background:redতবে হ্যাঁ ... একটি বড় দ্বিধা আছে, আমি যেমন বলেছি প্রথমটি সমস্ত সম্পত্তি none/defaultএবং দ্বিতীয়টিতে সেট করবে, কেবল colorতার defaultরাজ্যে পরিবর্তন করবে এবং বাকী থাকবে ।

সংক্ষেপে তাই:

সংক্ষিপ্ত উত্তর : না, মোটেও কোনও পার্থক্য নেই (আপনার উদাহরণ এবং মূল প্রশ্নে)
দীর্ঘ উত্তর : হ্যাঁ, একটি বড় পার্থক্য রয়েছে, তবে এটি গুণকে দেওয়া বৈশিষ্ট্যের উপর সরাসরি নির্ভর করে।


আপডেট 1: প্রাথমিক মান (ওরফে default)

প্রাথমিক মান তার দীর্ঘস্থায়ী বৈশিষ্ট্যের প্রাথমিক মানগুলির সংক্ষিপ্তকরণ:

background-image: none
background-position: 0% 0%
background-size: auto auto
background-repeat: repeat
background-origin: padding-box
background-style: is itself a shorthand, its initial value is the concatenation of its own longhand properties
background-clip: border-box
background-color: transparent

আরও backgroundবিবরণ এখানে দেখুন


আপডেট 2: আরও ভাল background:none;স্পেসিফিকেশন স্পষ্ট করুন ।


উত্তরের জন্য thx ব্যাকগ্রাউন্ড-চিত্রের জন্য পূর্বনির্ধারিত মানগুলি কী, ব্যাকগ্রাউন্ড পুনরাবৃত্তি ...? তারা ব্রাউজার উপর নির্ভর করে? যদি আমি আপনার ব্যাখ্যাটি বুঝতে পারি তবে পটভূমিটি ব্যবহার করা আরও ভাল: কোনওটিই তাই কোনও মানই ডিফল্ট হিসাবে সেট করা হয় না?
— ওয়েব-টিকি

আপনি যা পোস্ট করেছেন তা চেষ্টা করেছেন ?? সমস্ত মান কোনটি সেট করা হয়? পরীক্ষা করে দেখুন consoleএই ডেমো jsfiddle.net/dnzy2/6
— DaniP

যখন আপনি সেট করুন: পটভূমি: কিছুই নয়; আপনি বলছেন যে সমস্ত পটভূমি বৈশিষ্ট্য
— কোনওটিতে

2
+1, এটি অবশ্যই গ্রহণযোগ্য উত্তর (যদি এটি সঠিক হয়)।
— পেসারিয়ার

7

অন্যান্য উত্তরগুলির পরিপূরক হিসাবে: আপনি যদি কোনও ব্যাকগ্রাউন্ডের বৈশিষ্ট্যগুলি তাদের প্রাথমিক মানগুলিতে পুনরায় সেট করতে চান (যার মধ্যে রয়েছে background-color: transparentএবং background-image: none) যেমন কোনও মান যেমন transparentবা নির্দিষ্টভাবে উল্লেখ না করে বা noneলিখেছেন, আপনি লিখে লিখে এটি করতে পারেন:

background: initial;

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