নতুন সিএসএস বৈশিষ্ট্যগুলিতে উপসর্গ স্থাপনের কারণ কী?


10

ওয়েবমাস্টারদের অ-প্রিফিক্সড সংস্করণটি ব্যবহার করার পরিবর্তে ব্রাউজারগুলি নতুন সিএসএস বৈশিষ্ট্যগুলির উপসর্গ করার কোনও বৈধ কারণ আছে কি?

উদাহরণস্বরূপ, পটভূমির গ্রেডিয়েন্টের জন্য একটি নমুনা কোডটি দেখে মনে হচ্ছে:

#arbitrary-stops {
  /* fallback DIY*/

  /* Safari 4-5, Chrome 1-9 */
  background: -webkit-gradient(linear, left top, right top, from(#2F2727), color-stop(0.05, #1a82f7), color-stop(0.5, #2F2727), color-stop(0.95, #1a82f7), to(#2F2727));

  /* Safari 5.1+, Chrome 10+ */
  background: -webkit-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

  /* Firefox 3.6+ */
  background: -moz-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

  /* IE 10 */
  background: -ms-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

  /* Opera 11.10+ */
  background: -o-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
}

ওয়েবমাস্টারদের একই ফলাফলটি চারবার একই কোড কপি-পেস্ট করতে বাধ্য করার কী দরকার?


দ্রষ্টব্য: প্রায়শই উদ্ধৃত কারণগুলির মধ্যে একটি হ'ল উপসর্গযুক্ত শৈলীগুলি অস্থায়ী হওয়ার উদ্দেশ্যে করা হয় যখন ব্রাউজার হয় স্পষ্টটি সঠিকভাবে প্রয়োগ করে না, বা অনুমানটি চূড়ান্ত নয়

আইএমও, এই কারণটি একটি আজেবাজে কথা:

  • যদি ব্রাউজার ইঞ্জিনটি অনুমানটি সঠিকভাবে প্রয়োগ না করে তবে ব্রাউজারটি উপযুক্ত নয়, এটি প্রি-ফিক্সড আকারে এটি প্রয়োগ না করে বা এটি একটি উপসর্গযুক্ত আকারে প্রয়োগ করে না তা বিবেচনাধীন।
  • যদি অনুমানটি চূড়ান্ত না হয় তবে একই নামের সাথে পূর্ববর্তী বাস্তবায়নগুলি যখন ঘটেছিল তখন তা বিবেচনা করতে পারে। উদাহরণস্বরূপ, যদি linear-gradientসিএসএস 2 থাকে তবে সিএসএস 3 এর linear-gradientঅতিরিক্ত বৈশিষ্ট্যগুলি প্রসারিত করার উদ্দেশ্যে করা হয়েছিল , এটি -css3-<style>কার্যকরী CSS2 এক এবং পরীক্ষামূলক সিএসএস 3 এর মধ্যে পার্থক্য করে নতুন, খসড়া, বাস্তবায়ন অস্থায়ী উপসর্গে চালাক হবে । অনুশীলনে, CSS2 এর linear-gradientবা অন্য CSS3 অভিনবত্ব নেই।

আমি এও বুঝি তাহলে বিভিন্ন ব্রাউজারের বিভিন্ন বাস্তবায়ন ফরম্যাটের ছিল : যেমন, ধরুন ফায়ারফক্স প্রয়োজনীয় দিন টেক্সট ছায়া স্বরূপ, <weight-of-shadow distance-x distance-y color>যখন ক্রোম প্রয়োজনীয় <distance-x distance-y weight-of-shadow color>। তবে বাস্তবে, বিষয়টি এমন নয়; সিএসএস 3 এর কমপক্ষে সমস্ত নতুন বৈশিষ্ট্য আমি এখনও ব্যবহার করেছি একই ফর্ম্যাটটি।


2
If the browser engine does not implement the spec correctly, the browser will not be compliant- রিয়েল ওয়ার্ল্ডে আপনাকে স্বাগতম ™
রবার্ট হার্ভে

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

উত্তর:


9

এই ডব্লিউ 3 সি নোট অনুসারে :

ভবিষ্যতের সিএসএস বৈশিষ্ট্যগুলির সাথে সংঘর্ষ এড়াতে, CSS2.1 স্পেসিফিকেশন সিএসএসের মালিকানা এবং পরীক্ষামূলক এক্সটেনশনের জন্য একটি পূর্বনির্ধারিত বাক্য গঠন সংরক্ষণ করে।

ডাব্লু 3 সি প্রক্রিয়াতে প্রার্থী সুপারিশ পর্যায়ে পৌঁছানোর একটি নির্দিষ্টকরণের আগে, সিএসএস বৈশিষ্ট্যের সমস্ত বাস্তবায়ন পরীক্ষামূলক বলে বিবেচিত হয়। সিএসএস ওয়ার্কিং গ্রুপ সুপারিশ করে যে বাস্তবায়নগুলি ডাব্লু 3 সি ওয়ার্কিং ড্রাফ্টগুলির অন্তর্ভুক্ত যেমন বৈশিষ্ট্যগুলির জন্য একটি বিক্রেতা-উপসর্গযুক্ত সিনট্যাক্স ব্যবহার করে। এটি খসড়ায় ভবিষ্যতের পরিবর্তনগুলির সাথে অসঙ্গতিগুলি এড়িয়ে চলে।


আপনি এখানে এবং এখানে সিএসএসের স্থিতি অনুসরণ করতে পারেন ।


4

আমি আরও বুঝতে পারি যে যদি বিভিন্ন ব্রাউজারের বিভিন্ন প্রয়োগের ফর্ম্যাট থাকে ... [খ] বাস্তবে, এটি এমন নয়; সিএসএস 3 এর কমপক্ষে সমস্ত নতুন বৈশিষ্ট্য আমি এখনও ব্যবহার করেছি একই ফর্ম্যাটটি।

এটি আমাকে বলে যে আপনি দীর্ঘকাল ধরে এই গেমটি খেলছেন না।

সমস্যাটি হ'ল ওয়েব ব্রাউজারগুলি কখনই নতুন বৈশিষ্ট্যগুলি একই পদ্ধতিতে প্রয়োগ করে না । কোনও ব্রাউজারটি এমন বৈশিষ্ট্যগুলি প্রয়োগ করে দেখতে পাওয়া যায় যা মানসম্মত হয়নি। এবং ফলাফলটি হ'ল বিভিন্ন ব্রাউজারে সবকিছু আলাদাভাবে কাজ করে।

কেবলমাত্র এটিই নয়, নতুন বৈশিষ্ট্যগুলি প্রায়শই বগিযুক্ত হয় (আমরা আইআই কে নাম ধরে ডাকতে পারি না) এবং তাই বিভিন্ন উপাদানগুলির বাক্য গঠন একই হলেও, ফলাফলটি ভিন্ন।

এটি ডেভেলপারদের যারা নতুন বৈশিষ্ট্যগুলি ব্যবহার করতে আগ্রহী তাদের জন্য মাথা ব্যথার কারণ হয়ে দাঁড়ায়। তারা তাদের স্টাইলশিট লেখা শেষ করার পরে, তারা দ্রুত বুঝতে পারে যে এটি অনিবার্য কারণে বিভিন্ন ব্রাউজারগুলিতে আলাদাভাবে রেন্ডার করে।

উপসর্গগুলি আসার আগে, বিকাশকারীরা প্রায়শই CSS পার্সারে ত্রুটিগুলি ব্যবহার করে ব্রাউজারগুলির মধ্যে সনাক্তকারী পার্থক্যের উপর নির্ভর করতে বাধ্য হন। এর ফলশ্রুতিতে এরকম জঘন্য কাজ ঘটে:

padding: 10px;
width: 200px;
w\idth: 180px;
height: 200px;
heigh\t: 180px;

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

উপসর্গগুলি মানক করে এটি বিকাশকারীদের এমন বৈশিষ্ট্য ব্যবহার করতে দেয় যা বিভিন্ন ব্রাউজারে স্থিতিশীল নয়। -moz-এবং -webkit-উপসর্গ দ্বারা একথা সুস্পষ্ট হয়ে যে লেখক একটি শৈলী যে শুধুমাত্র নির্দিষ্ট ওয়েব ব্রাউজারে প্রয়োগ করতে হবে প্রদান করার চেষ্টা করছে না।

বৈশিষ্ট্যগুলি স্থিতিশীল হয়ে উঠলে এবং ব্রাউজারগুলি একই আচরণ শুরু করে, আপনি উপসর্গটি মুছে ফেলতে এবং বৈশিষ্ট্যটি একবার ঘোষণা করতে পারেন।

আমি মনে করি যে এটি অনুধাবন করা গুরুত্বপূর্ণ যে উপসর্গগুলি এর অর্থ এই নয় যে আপনাকে অবশ্যই প্রতিটি ব্রাউজারের জন্য একবার শৈলী ঘোষণা করতে হবে। উপসর্গের অর্থ হ'ল যে কোনও সময় আপনি কোনও ওয়েব ব্রাউজার কোনও মানের সাথে সঙ্গতি রাখছেন না এমন অতিরিক্ত স্টাইলগুলি অবশ্যই ঘোষণা করতে হবে। উদাহরণস্বরূপ, আপনার উপরের কোডের পরিবর্তে আপনার এটি দিয়ে শুরু করা উচিত:

 background: linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

আপনি যদি হঠাৎ বুঝতে পারেন যে মাইক্রোসফ্ট একটি লিনিয়ার গ্রেডিয়েন্ট সঠিকভাবে গণনা করতে অক্ষম, তবে আপনি IE এ সমস্যা সমাধানের জন্য একটি উপসর্গ যুক্ত করতে পারেন:

 /* Friggin IE */
 background: -ms-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
 background: linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);

হঠাৎ করেই আপনার পৃষ্ঠাগুলি প্রতিটি ব্রাউজারে একই দেখায়, তাদের মধ্যে কেউ আলাদাভাবে কাজ করেছে তা সত্ত্বেও।

আপনি দেখতে পাবেন যে এটি একটি লিস্ট অ্যাপার্টমেন্টের এই নিবন্ধে খুব বিস্তৃতভাবে কভার করা হয়েছে ।


2

যদি ব্রাউজার ইঞ্জিনটি অনুমানটি সঠিকভাবে প্রয়োগ না করে তবে ব্রাউজারটি উপযুক্ত নয়, এটি প্রি-ফিক্সড আকারে এটি প্রয়োগ না করে বা এটি একটি উপসর্গযুক্ত আকারে প্রয়োগ করে না তা বিবেচনাধীন।

পার্থক্য যা ব্রাউজারকে সামঞ্জস্য না বিরতি হবে যখন এটা করে অনুবর্তী হয়ে। যদি ব্রাউজারের আচরণটি অনুমানের থেকে আলাদা হয় তবে তারা পরিবর্তন করার সাথে সাথে তারা পুরানো কোডটি ভাঙবে না - কারণ এটি একটি নতুন নামে তালিকাভুক্ত।


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

@ জেসকোইন: এটি কখনই ঘটতে পারে না, কারণ এর উপর নির্ভর করে আপনি লিগ্যাসি কোডটি ভেঙে ফেলেন।
ডেড এমএমজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.