ইন-লাইন সিএসএস সম্পর্কে এত খারাপ কী?


170

আমি যখন ওয়েবসাইট স্টার্টার কোড এবং উদাহরণগুলি দেখি, CSS সর্বদা একটি পৃথক ফাইলে থাকে, যার নাম দেওয়া হয় "মেইন সিএসএস", "ডিফল্ট সিএসএস", বা "সাইট সিএসএস" এর মতো কিছু। যাইহোক, আমি যখন কোনও পৃষ্ঠাতে কোডিং করছি, আমি প্রায়শই সিএমএসকে একটি ডওম উপাদানগুলির সাথে লাইন নিক্ষেপ করার জন্য প্রলুব্ধ করি, যেমন একটি ছবিতে "ফ্লোট: ডান" সেট করে। আমি অনুভব করি যে এটি "খারাপ কোডিং", কারণ উদাহরণে এটি খুব কমই করা হয় rarely

আমি বুঝতে পারি যে শৈলীটি যদি একাধিক অবজেক্টে প্রয়োগ করা হয় তবে "নিজেকে পুনরাবৃত্তি করবেন না" (ডিআরওয়াই) অনুসরণ করা এবং এটি প্রতিটি উপাদান দ্বারা রেফারেন্স করার জন্য এটি একটি সিএসএস শ্রেণিতে অর্পণ করা বুদ্ধিমানের কাজ। যাইহোক, যদি আমি অন্য উপাদানটিতে সিএসএস পুনরাবৃত্তি না করি, তবে এইচটিএমএল লেখার সাথে সাথে সিএসএসকে কেন ইন-লাইন করবেন না?

প্রশ্ন: লাইন সিএসএস ব্যবহার করা কি খারাপ হিসাবে বিবেচিত হবে, এমনকি যদি এটি কেবলমাত্র সেই উপাদানটিতে ব্যবহৃত হয়? যদি তাই হয় তবে কেন?

উদাহরণ (এটি কি খারাপ?):

<img src="myimage.gif" style="float:right" />

1
আমি সর্বদা ইনলাইন সিএসএসের বিপক্ষে, এমনকি একটি আইটেমের জন্যও, তবে আমি অনেকগুলি বাণিজ্যিক সাইট শৈলীর বৈশিষ্ট্যগুলিতে ছড়িয়ে পড়ে দেখি, এটি আমাকে অবাক করে তোলে যে গৃহীত অনুশীলন আসলে কী?
yu_ominae

3
আমি মনে করি যে ইনলাইন শৈলীগুলি অলস। আমি এটি বলি কারণ আমি এটি প্রায়শই নিজেই করি, তাই আমি জানি - কেন করছি - কারণ শৈলীটি থাকবে কিনা আমার কোনও ধারণা নেই, তাই আমি এটি HTML এর ঠিক পাশেই করতাম do আজকাল, এইচটিএমএল 5 এবং <স্টাইল> </style> এর যে কোনও জায়গায় ব্যবহারিক সমর্থন সহ, আমি বিন্যাসের সাথে বিশৃঙ্খলা করার সময় কাছাকাছি একটি <স্টাইল> ট্যাগ ব্যবহার করছি এবং তারপরে এটি মূল / মূল সিএসএস ফাইলে স্থানান্তরিত করব। গতি এবং অনিবার্যতার একই উপকারিতা, অসুবিধাগুলির প্রায় কোনওটিই নয় (নির্দিষ্টকরণের কারণে অফ-পেজ উপাদানগুলিতে পার্শ্ব প্রতিক্রিয়া)।
Kzqai

3
@ আইও_মিনা - মনে রাখবেন যে "বাণিজ্যিক সাইটগুলি" সর্বদা সেরা অনুশীলনের সাথে মানায় না; আসলে বেশ বিরল। সিদ্ধান্ত গ্রহণকারী ফ্যাক্টরটি হ'ল যদি বিকাশকারী জানে, যত্ন করে এবং সময় রাখে; অথবা পরিচালক যদি সময় বরাদ্দ করতে রাজি হন এবং কর্মীদের বাস্তবায়নের জন্য নির্দেশ দিন। কাজের অগ্রাধিকার যখন সময়সীমাটি পূরণ করা হয়, তখন গুণমানটি সাধারণত হ্রাস পায়।
ব্রায়ানএইচ

1
লক্ষণীয় যে "বাণিজ্যিক সাইটগুলি" ইনলাইন স্টাইলগুলি ব্যবহার করে বলে মনে হচ্ছে, এটি কিছু নির্দিষ্ট jQuery কলগুলি ব্যবহারের ফলাফল হতে পারে (উদাঃ css()) যা ইনলাইন স্টাইল প্রয়োগ করে।
ডেভ বেকার

উত্তর:


203

আপনি সাইটটি অন্যরকম করে তুলতে চাইলে কোডের 100 টি লাইন পরিবর্তন করতে হবে। এটি আপনার উদাহরণে প্রযোজ্য নাও হতে পারে তবে আপনি যদি পছন্দ মতো জিনিসের জন্য ইনলাইন সিএসএস ব্যবহার করেন

<div style ="font-size:larger; text-align:center; font-weight:bold">

প্রতিটি পৃষ্ঠায় একটি পৃষ্ঠা শিরোনাম বোঝাতে এটি হিসাবে বজায় রাখা অনেক সহজ হবে

<div class="pageheader">  

যদি পেজহেডারটিকে একটি একক স্টাইলশিটে সংজ্ঞায়িত করা হয় যাতে আপনি যদি কোনও পৃষ্ঠার শিরোনামটি পুরো সাইট জুড়ে কীভাবে দেখতে চান তা পরিবর্তন করতে চান, আপনি সিএসএসকে এক জায়গায় পরিবর্তন করবেন।

যাইহোক, আমি একজন ধর্মাবলম্বী হব এবং বলব যে আপনার উদাহরণে আমি কোনও সমস্যা দেখছি না। আপনি একটি একক চিত্রের আচরণকে লক্ষ্য করছেন, যা সম্ভবত কোনও একক পৃষ্ঠায় ডানদিক দেখতে হবে, তাই স্টাইলশীটে আসল সিএসএস স্থাপন করা সম্ভবত অতিমাত্রায় ব্যয় হবে।


18
আপনি বলছেন যে আমার উদাহরণটি কোনও সমস্যা নয় তবে আপনি স্বীকার করেছেন যে আপনি একজন ধর্মাবলম্বী। আমি যে পদ্ধতির পছন্দ।
দাবাবিউজ

8
যদি প্রতিবারের জন্য আমার নিকেল থাকত আমাকে যখন ইমেজের ফ্লোট বা অন্য কোনও সিএসএস সংশোধন করতে হত যা মূলত "কেবলমাত্র একটি উপাদানের জন্য" হতে চলেছিল ... ... ঠিক আছে, আমি একটি ডিনার বাইরে বেরিয়ে যাব একটি ভাল রেস্তোঁরা এ।
Kzqai

8
অন্য দৃশ্যে যখন কেবল ইনলাইন স্টাইলিং ব্যবহার করা ঠিক না, তবে যে কোনও কিছুকে স্টাইল করার একমাত্র উপায়: এইচটিএমএল ইমেল।
ক্রিস্টোফ মারোইস

তবে htmlফাইলটি নিজেও ক্যাশে করা হয়েছে।

ব্যবহারকারী 6663031 এর প্রতিক্রিয়া: একাধিক পৃষ্ঠাগুলি সহ একটি ওয়েবসাইটে অনেকগুলি বিভিন্ন HTML পৃষ্ঠা রয়েছে তবে কেবলমাত্র একটি সিএসএস ফাইলে তাদের সমস্ত শৈলী একত্রিত করতে পারে যা সহজেই ক্যাশে যায়।
সিনথুরিয়ন

68

আলাদা সিএসএস ফাইল থাকার সুবিধা হ'ল

  1. আপনার এইচটিএমএল পৃষ্ঠা বজায় রাখা সহজ
  2. চেহারা এবং অনুভূতিতে পরিবর্তন করা সহজ হবে এবং আপনার পৃষ্ঠাগুলিতে অনেক থিমের জন্য আপনার সমর্থন থাকতে পারে।
  3. আপনার সিএসএস ফাইলটি ব্রাউজারের দিকে ক্যাশে হবে। সুতরাং প্রতিবার পৃষ্ঠা রিফ্রেশ করার সময় বা ব্যবহারকারী আপনার সাইটে নেভিগেট করে কিছু কেবিএস ডেটা লোড না করে আপনি ইন্টারনেট ট্র্যাফিকে কিছুটা অবদান রাখবেন।

2
আমি নিজেকে প্রতিমাসে এই প্রশ্নটি জিজ্ঞাসা করি (ওয়েব প্রোগ্রামিংয়ে মোটামুটি নতুন) এবং আমি প্রথমবারের মতো সিএসএস ফাইল ক্যাশে হওয়ার বিষয়ে কিছু পড়েছি। ওটা আমার জন্য ঠিক আছে!
গেন্ডার করে

আমি পাশাপাশি ক্যাশে সম্পর্কেও ভাবছিলাম, তবে আমার ক্ষেত্রে আমি 15 কে লাইনযুক্ত একীভূত সিএসএসের সাথে ডিল করতে পারি, জাঙ্কের সমস্ত বড় অংশটি বজায় রাখা অসম্ভব যে কেবল একবারের পাতায় একবার ব্যবহার করা যাচ্ছিল না ' আর কোন অস্তিত্ব নেই। সুতরাং আপনি প্রতিটি ভিজিটে প্রত্যেকের কাছে সিএসএস কোড ছুঁড়ে ফেলছেন এমন একক অস্থায়ী পৃষ্ঠার জন্য যা আপনার ট্র্যাফিকের কেবল 1% দ্বারা দেখা হয়। আমি নিশ্চিত না যে ইন্টারনেট ট্রাফিক যুক্তিটি প্রতিটি ক্ষেত্রেই বৈধ কিনা। ভাগ্যক্রমে ওয়েব উপাদানগুলি পরিবর্তন করতে চলেছে!
শাদোয়েব

@ শ্যাডোবব - বড় ফাইলের পরিবর্তে ছোট সিএসএস ফাইল রাখা কি ভাল হবে না? একটি জেনেরিক থাকতে পারে যা সমস্ত পৃষ্ঠাগুলির জন্য ব্যবহৃত হয় তবে তারপরে অন্যান্য পৃষ্ঠাগুলির জন্য ছোট পৃথক স্টাইল শীট রয়েছে। বজায় রাখা সহজ হতে হবে। এবং যদি ট্রাফিক সমস্যা হয় তবে উত্পাদনের জন্য সম্ভবত বিল্ড প্রক্রিয়ায় একটিতে মিশে যেতে পারে।
দারিয়াস.ভি

26

দ্রুত সিএসএস প্রোটোটাইপিংয়ের জন্য এইচটিএমএল 5 পন্থা

বা: <style>ট্যাগগুলি আর কেবল মাথার জন্য থাকে না!

হ্যাকিং সিএসএস

ধরা যাক আপনি ডিবাগ করছেন, এবং আপনার পৃষ্ঠা-সিএসএস সংশোধন করতে চান, একটি নির্দিষ্ট বিভাগকে আরও ভাল দেখায় look আপনার শৈলীগুলি দ্রুত এবং নোংরা এবং অ-রক্ষণাবেক্ষণযোগ্য উপায়ে ইনলাইন তৈরি করার পরিবর্তে, আমি এই দিনগুলিতে যা করতে পারি তা করতে পারেন এবং একটি পর্যায়ক্রমে পন্থা অবলম্বন করতে পারেন।

কোনও ইনলাইন শৈলী বিশিষ্টতা নেই

কখনও আপনার সিএসএস ইনলাইন তৈরি করবেন না, যার অর্থ: <element style='color:red'>বা এমনকি<img style='float:right'> এটি খুব সুবিধাজনক তবে পরে কোনও আসল সিএসএস ফাইলে প্রকৃত নির্বাচকের নির্দিষ্টতা প্রতিফলিত করে না এবং আপনি যদি এটি রাখেন তবে আপনি পরে রক্ষণাবেক্ষণের বোঝার জন্য আফসোস করবেন।

<style>পরিবর্তে প্রোটোটাইপ

আপনি যেখানে ইনলাইন সিএসএস ব্যবহার করতে পারবেন, পরিবর্তে পৃষ্ঠার <style> উপাদানগুলি ব্যবহার করুন । চেষ্টা করে দেখুন! এটি সমস্ত ব্রাউজারে দুর্দান্ত কাজ করে, তাই এটি পরীক্ষার জন্য দুর্দান্ত, তবুও আপনি যখনই চাইবেন / প্রয়োজন হবে তখন আপনাকে এই জাতীয় সিএসএসকে আপনার গ্লোবাল সিএসএস ফাইলগুলিতে সরিয়ে আনতে দেয়! (* কেবল সচেতন থাকুন যে নির্বাচকদের কেবলমাত্র সাইট-স্তরের সুনির্দিষ্টতার পরিবর্তে পৃষ্ঠা-স্তরের সুনির্দিষ্টতা থাকবে, সুতরাং খুব সাধারণ হওয়ার বিষয়ে সতর্ক থাকুন) আপনার সিএসএস ফাইলগুলির মতো ঠিক পরিষ্কার:

<style>
.avatar-image{
    float:right
}
.faq .warning{
    color:crimson;
}
p{
    border-left:thin medium blue;
    // this general of a selector would be very bad, though.
    // so be aware of what'll happen to general selectors if they go
    // global
}
</style>

অন্য ব্যক্তির ইনলাইন সিএসএস রিফ্যাক্টরিং

কখনও কখনও আপনি সমস্যা নাও হয়ে থাকেন এবং আপনি অন্য কারও সাথে ইনলাইন সিএসএস ব্যবহার করছেন এবং আপনাকে এটি রিফ্যাক্টর করতে হবে। এটি এর জন্য আরও দুর্দান্ত ব্যবহার<style> পৃষ্ঠার , যাতে আপনি সরাসরি ইনলাইন সিএসপি ফালা করতে এবং তাত্ক্ষণিকভাবে পৃষ্ঠাতে ক্লাসে বা আইডিতে বা নির্বাচকগুলিতে সরাসরি স্থান দিতে পারেন যখন আপনি রিফ্যাক্ট করছেন। আপনি যাবার সময় যদি আপনার নির্বাচকদের সাথে যথেষ্ট সতর্ক হন তবে আপনি চূড়ান্ত ফলাফলটি কেবলমাত্র একটি অনুলিপি এবং পেস্ট দিয়ে শেষ পর্যন্ত গ্লোবাল CSS ফাইলটিতে সরাতে পারেন।

প্রতিটি বিএসএস তাত্ক্ষণিকভাবে গ্লোবাল সিএসএস ফাইলে স্থানান্তর করা কিছুটা শক্ত , তবে ইন-পৃষ্ঠা <style>উপাদানগুলির সাথে আমাদের এখন বিকল্প রয়েছে।


23

অন্যান্য উত্তর ছাড়াও .... আন্তর্জাতিকীকরণ

সামগ্রীর ভাষার উপর নির্ভর করে - আপনাকে প্রায়শই কোনও উপাদানটির স্টাইলিং মানিয়ে নিতে হবে।

একটি সুস্পষ্ট উদাহরণ হ'ল ডান থেকে বাম ভাষাগুলি।

ধরা যাক আপনি আপনার কোডটি ব্যবহার করেছেন:

<img src="myimage.gif" style="float:right" />

এখন বলুন যে আপনি চান আপনার ওয়েবসাইটটি আরটিএল ভাষাগুলি সমর্থন করে - আপনার প্রয়োজন হবে:

<img src="myimage.gif" style="float:left" />

সুতরাং এখন, আপনি যদি উভয় ভাষা সমর্থন করতে চান তবে ইনলাইন স্টাইলিং ব্যবহার করে ভাসমানের জন্য কোনও মূল্য নির্ধারণের উপায় নেই।

সিএসএসের সাহায্যে এটি ল্যাং বৈশিষ্ট্যের সাথে সহজেই যত্ন নেওয়া হয়

সুতরাং আপনি এই মত কিছু করতে পারে:

img {
  float:right;
}
html[lang="he"] img { /* Hebrew. or.. lang="ar" for Arabic etc */
  float:left;
}

ডেমো


16

ইনলাইন সিএসএস সর্বদা, যে কোনও সংযুক্ত-স্টাইলশিট সিএসএসের চেয়ে সর্বদা প্রাধান্য অর্জন করবে। এটি আপনি যখন যথাযথ ক্যাসকেডিং স্টাইলশিটটি লেখেন এবং লেখেন এবং আপনার সম্পত্তিগুলি সঠিকভাবে প্রয়োগ না করে তবে আপনার জন্য প্রচণ্ড মাথা ব্যথা হতে পারে।

এটি আপনার অ্যাপ্লিকেশনটিকে শব্দার্থভাবে আঘাত করে: সিএসএস মার্কআপ থেকে উপস্থাপনাটি আলাদা করার বিষয়ে। আপনি যখন দুজনকে এক সাথে জড়িয়ে রাখেন তখন বিষয়গুলি বোঝা এবং বজায় রাখা আরও অনেক বেশি কঠিন হয়ে যায়। এটি আপনার সার্ভারের পাশের কন্ট্রোলার কোড থেকে ডাটাবেস কোড পৃথক করার অনুরূপ নীতি।

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


12
"সর্বদা, সর্বদা জিতে থাকুন" - যদি না স্টাইলশিটে গুরুত্বপূর্ণ ব্যবহার করা হয়
জেমস ওয়েস্টগেট

6
আমি মানুষ এই যে এই ধর্মাবলম্বী ব্যবহার করে না এবং এই ধর্মাবলম্বী ব্যবহার করে না এই ধারণার অধীনে বাস করি। =)
ইস্যু মেরি tseng

3
@ জেমস ওয়েস্টগেট যতক্ষণ না কেউ ব্যবহার করে! ওভাররাইডকে ওভাররাইড করতে ইনলাইন সিএসএসে গুরুত্বপূর্ণ ....
কেজকাই

11

সিএসএসের পুরো বিষয়টি হ'ল বিষয়বস্তুটিকে উপস্থাপনা থেকে আলাদা করা। সুতরাং আপনার উদাহরণে আপনি উপস্থাপনাটির সাথে সামগ্রী মিশ্রণ করছেন এবং এটি "ক্ষতিকারক" হিসাবে বিবেচিত হতে পারে।


7
এসিএম-এ "ইনলাইন সিএসএস স্টাইলগুলি বিবেচিত ক্ষতিকারক" জমা দেওয়ার জন্য আমি আপনাকে 5 টাকা প্রদান করব।
বালিনকিংঅফমোরিয়া সিএমএস পুনরায় ইনস্টল করুন

11

ইনলাইন সিএসএস ব্যবহার করা বজায় রাখা আরও শক্ত।

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


3
+1 - আমাদের ডিজাইনাররা যখন তাড়াতাড়ি কিছু ঠিক করার জন্য দ্রুত সমাধান হিসাবে এটি করেন তখন আমি সত্যিই গ্রিপ করি। বাহ্যিক সিএসএস ব্যবহারের অর্থ একটি একক স্টাইল শীটে অবশ্যই অপারেশন না করে কখনও কখনও বিশাল পাঠ্য প্রতিস্থাপন না করার কথা। আমি গতকাল আমার কাছে প্রকাশিত একটি কন্ট্রোল প্যানেল টেম্পলেট পেয়েছি এবং আইকনগুলিকে ইনলাইন স্টাইলের সাথে টিক করা হয়েছে এমন উদাহরণগুলি পেতে 2/2 ঘন্টা সময় লেগেছে। ম্যাডেনিং আমি আপনাকে বলছি .. ম্যাডেনিং :)
টিম পোস্ট

1
যখন আপনার কাছে 50+ এসসিএসএস রয়েছে এবং আপনার পরিদর্শন উপাদানটি কেবল সংক্ষেপিত সিএসএসকে নির্দেশ করে, আমি নিশ্চিত নই যে এটি সিএসএস যা সরলতায় জয়ী!
শাদোয়েব


@ টিমপোস্টের "
তদন্ত

9

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

ডিআরওয়াই হস্তাক্ষর কোডের জন্য একটি ভাল ধারণা, তবে মেশিন-উত্পাদিত কোডগুলিতে আমি "লিমিটার অফ ডেমিটার" বেছে নিই: "যা এক সাথে সম্পর্কিত, অবশ্যই একসাথে থাকতে হবে" stay স্টাইল ট্যাগ তৈরি করে এমন কোড ম্যানিপুলেট করা সহজ যা কোনও পৃথক এবং "রিমোট" সিএসএস ফাইলে দ্বিতীয়বার গ্লোবাল স্টাইলে সম্পাদনা করার চেয়ে স্টাইল ট্যাগ তৈরি করে।

আপনার প্রশ্নের উত্তর: এটি নির্ভর করে ...


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

5

আমি মনে করি যে আপনি যদি কোনও উপাদানটির জন্য একটি নির্দিষ্ট শৈলী করতে চান তবে আপনাকে বিভিন্ন পাতায় একই উপাদানটিতে একই শৈলী প্রয়োগ করতে পারে এমন সম্ভাবনাটি বিবেচনা করতে হবে।

একদিন যে কেউ প্রতি পৃষ্ঠায় একই উপাদানটিতে আরও স্টাইলিস্টিক পরিবর্তনগুলি পরিবর্তন করতে বা যুক্ত করতে চাইতে পারে। আপনার যদি কোনও বাহ্যিক সিএসএস ফাইলে শৈলীর সংজ্ঞা দেওয়া থাকে তবে আপনাকে কেবল সেখানে পরিবর্তন করতে হবে, এবং এটি সমস্ত পৃষ্ঠায় একই উপাদানে প্রতিফলিত হবে, এটি আপনাকে মাথা ব্যথার হাত থেকে বাঁচায়। :-)


4

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


2

এমনকি যদি আপনি কেবল উদাহরণ হিসাবে একবার শৈলী ব্যবহার করেন তবে আপনি এখনও বিষয়বস্তু এবং ডিজাইন মিশ্রিত করেছেন। অনুসন্ধান "উদ্বেগের বিচ্ছেদ"।


1

ইনলাইন শৈলীগুলি ব্যবহার করে উদ্বেগের নীতিটি লঙ্ঘন করা হয়, কারণ আপনি কার্যকরভাবে একই উত্স ফাইলে মার্কআপ এবং শৈলীর মিশ্রণ করছেন। এটি, বেশিরভাগ ক্ষেত্রেই, ডিআরওয়াই (নিজেকে পুনরাবৃত্তি করবেন না) নীতি লঙ্ঘন করে যেহেতু সেগুলি কেবলমাত্র একটি একক উপাদানের জন্য প্রযোজ্য, যেখানে একটি শ্রেণি তাদের বেশ কয়েকটিতে প্রয়োগ করা যেতে পারে (এমনকি সিএসএস বিধিগুলির যাদুতেও প্রসারিত হতে পারে! )।

তদ্ব্যতীত, যদি আপনার সাইটে স্ক্রিপ্টিং থাকে তবে শ্রেণীর ন্যায়বিচারের ব্যবহার উপকারী। উদাহরণস্বরূপ, জ্যাকুয়েরির মতো কয়েকটি জনপ্রিয় জাভাস্ক্রিপ্ট ল্যাব নির্বাচক হিসাবে শ্রেণীর উপর খুব বেশি নির্ভর করে।

পরিশেষে, ক্লাসগুলি ব্যবহার করা আপনার ডিওমে অতিরিক্ত স্পষ্টতা যুক্ত করে, যেহেতু আপনার কাছে কার্যকরভাবে বর্ণনাকারী রয়েছে যে এটিতে প্রদত্ত নোডটি কী ধরণের উপাদান। উদাহরণ স্বরূপ:

<div class="header-row">It's a row!</div>

এর চেয়ে অনেক বেশি অভিব্যক্তিপূর্ণ:

<div style="height: 80px; width: 100%;">It's...something?</div>

1

ইন-পেজ সিএসএস হ'ল এই মুহুর্তে জিনিস কারণ গুগল এটিকে আলাদা ফাইল থেকে লোড করা সিএসএসের চেয়ে আরও ভাল ব্যবহারকারীর অভিজ্ঞতা দেওয়ার হিসাবে রেট দেয়। একটি সম্ভাব্য সমাধান হ'ল একটি টেক্সট ফাইলে সিএসএস স্থাপন করা, পিএইচপি সহ ফ্লাইতে লোড করা এবং নথির শিরোনামে আউটপুট দেওয়া। ইন <head>অধ্যায় হল:

<head> ...

<?php
$codestring = file_get_contents("styles/style1.txt");
echo "<style>" . $codestring . "</style>";
?>

... </head>

স্টাইল / স্টাইল 1.txt এ প্রয়োজনীয় সিএসএস রাখুন এবং এটি স্পট থেকে বেরিয়ে আসবে <head> আপনার নথির বিভাগে । এই পদ্ধতিতে, আপনার স্টাইল টেম্পলেট, স্টাইল 1.txt ব্যবহারের সুবিধা সহ ইন-পেজ সিএসএস থাকবে, যা যে কোনও এবং সমস্ত পৃষ্ঠায় ভাগ করে নেওয়া যেতে পারে, কেবলমাত্র সেই এক ফাইলের মাধ্যমে সাইট-প্রশস্ত শৈলীর পরিবর্তন করা যেতে পারে। তদুপরি, এই পদ্ধতিটির জন্য সার্ভার থেকে পৃথক সিএসএস ফাইলের অনুরোধ করার জন্য ব্রাউজারের প্রয়োজন হয় না (এইভাবে পুনরুদ্ধার / উপস্থাপনের সময় হ্রাস করা হয়), যেহেতু পিএইচপি দ্বারা সমস্ত কিছু একবারে সরবরাহ করা হয়।

এটি প্রয়োগ করে, স্বতন্ত্র ওয়ান-টাইম-স্টাইলগুলি যেখানে প্রয়োজন হয় ম্যানুয়ালি কোড করা যেতে পারে।


হ্যাঁ! "প্রথম রঙ করার সময়" হ্রাস করার চেষ্টা করার ক্ষেত্রে এটি গুরুত্বপূর্ণ, যদি আপনার সমস্ত সিএসএস ফাইলগুলিতে থাকে তবে এটি ব্যবহারকারী দ্বারা স্টাইলশীট ডাউনলোড না হওয়া অবধি এটি ডিওএমকে পিছিয়ে দেবে। আপনার সমালোচনামূলক শৈলীর একটি ইনলাইন <স্টাইলস> নোড মাথায় রেখে আপনি অবিলম্বে ডিওএম রেন্ডার করতে এবং বাহ্যিক স্টাইলশিটগুলি স্থগিত করতে পারেন। Connections 3G সংযোগ এবং অনুভূত গতিতে একটি বড় ফ্যাক্টর চালায়। আপনার উত্তরের জন্য +1
24:54

1

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


0

যদিও আমি উপরে বর্ণিত সমস্ত উত্তরের সাথে সম্পূর্ণ একমত হয়েছি যে পৃথক ফাইলে সিএসএস লেখার ক্ষেত্রে কোডের পুনঃব্যবহারযোগ্যতা, রক্ষণাবেক্ষণযোগ্যতা, উদ্বেগের আরও ভাল বিভাজন থেকে সবসময় ভাল many এমন অনেক পরিস্থিতি রয়েছে যেখানে লোকেরা তাদের প্রোডাকশন কোডটিতে ইনলাইন সিএসএস পছন্দ করে -

বাহ্যিক সিএসএস ফাইল ব্রাউজারে একটি অতিরিক্ত এইচটিটিপি কল এবং এইভাবে অতিরিক্ত বিলম্বিত করে। পরিবর্তে যদি সিএসএস ইনলাইন প্রবেশ করানো হয় তবে ব্রাউজারটি এখনই এটিকে পার্স করা শুরু করতে পারে। বিশেষত এসএসএল-এর বেশি HTTP কলগুলি আরও ব্যয়বহুল এবং পৃষ্ঠায় অতিরিক্ত প্রচ্ছন্নতা যুক্ত করে। অনেকগুলি উপলভ্য সরঞ্জাম রয়েছে যা বাহ্যিক সিএসএস ফাইলগুলি ইনলাইন কোড হিসাবে সন্নিবেশ করে স্থিত HTML পৃষ্ঠাগুলি (বা পৃষ্ঠার স্নিপেট) তৈরি করতে সহায়তা করে। এই সরঞ্জামগুলি বিল্ড এবং রিলিজ পর্যায়ে ব্যবহৃত হয় যেখানে উত্পাদন বাইনারি তৈরি করা হয়। এইভাবে আমরা বাহ্যিক সিএসএসের সমস্ত সুবিধা পাই এবং পৃষ্ঠাটি দ্রুত হয়।


3
আপনি কিছু মিস করছেন পুনরায়: বিলম্বিতা। একটি অনেক বড় সমস্যা , সত্যিই: সিএসএস এম্বেডিং মানে প্রতিটি পৃষ্ঠায় অনুরোধ সিএসএস থাকা আবশ্যক, যেহেতু অন্যথায়, ব্রাউজার এটা ক্যাশে পারবেন না।
অ্যান্ড্রু বারবার

তুমি ঠিক. এই কারণেই কোডের আকারটি খুব কম হলে আমরা সিএসএস ইনলাইন করি যাতে এটি পৃষ্ঠার আকারে খুব বেশি ওভারহেড সৃষ্টি না করে। ইয়াহু সম্পর্কে একটি খুব আকর্ষণীয় নিবন্ধ আছে! নিখুঁত নির্দেশিকা পৃষ্ঠা বিকাশকারী. yahoo.com/performance/rules.html যা বলছে যে 60-80% ব্যবহারকারী আপনার খালি ক্যাশে নিয়ে প্রতিদিনই আসে ( yuiblog.com/blog/2007/01/04/performance-research-part -২ ) অবশ্যই এটি পুরোপুরি ওয়েবসাইটটির জনপ্রিয়তার উপর নির্ভর করে - কোনও সাইট যত বেশি জনপ্রিয়, খালি খালি ক্যাশে থাকার সম্ভাবনা বেশি।
দীপেন্ডেন্ডু

যদিও কোনও ব্যবহারকারী কোনও খালি ক্যাশে আপনার সাইটে অ্যাক্সেস করেছেন এমনটি সম্ভবত , তারা খালি ক্যাশে আপনার পৃষ্ঠায় অ্যাক্সেস করবেন না এমন সম্ভাবনা কম । পৃষ্ঠাটি একক-ব্যবহার না করা (অর্থাত্ প্রতিটি ব্যবহারকারী এটি একবার দেখে নিবে), এটি পৃথক সিএসএস ফাইলের সাথে আরও ভাল সম্পাদন করবে।
astex

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

0

এএমপি এইচটিএমএল স্পেসিফিকেশন অনুসারে পারফরম্যান্সের উদ্দেশ্যে আপনার এইচটিএমএল ফাইলে (বনাম একটি বাহ্যিক স্টাইলশিট) সিএসএস স্থাপন করা প্রয়োজন। এর অর্থ ইনলাইন সিএসএস নয় তবে তারা কোনও বাহ্যিক স্টাইলশিট নির্দিষ্ট করে না

যেমন একটি পরিবেশন সিস্টেমটি অপ্টিমাইজেশানের একটি অসম্পূর্ণ তালিকাটি করতে পারে:

  • দর্শকের ভিউপোর্টে আকারযুক্ত চিত্রগুলি সহ চিত্রের রেফারেন্সগুলি প্রতিস্থাপন করুন।
  • ভাঁজের উপরে দৃশ্যমান যে ইনলাইন চিত্রগুলি।
  • ইনলাইন সিএসএস ভেরিয়েবল।
  • প্রিলোড বর্ধিত উপাদান।
  • এইচটিএমএল এবং সিএসএসকে মিনিফাই করুন।

0

অন্যান্য উত্তরের পাশাপাশি, আপনি ইনলাইন সিএসএসে সিউডো-ক্লাস বা ছদ্ম-উপাদানগুলিকে লক্ষ্য করতে পারবেন না

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