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


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.