আমার সিএসএসে পিক্স বা রিম মান ইউনিট ব্যবহার করা উচিত? [বন্ধ]


375

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

আমার প্রশ্ন হচ্ছে: আমি ব্যবহার করা উচিত pxবা remআমার CSS এ?

  • এখনও অবধি আমি জানি যে pxব্যবহারকারীরা তাদের ব্রাউজারে তাদের বেস ফন্টের আকারটি সামঞ্জস্য করে এমন ব্যবহারকারীদের সাথে উপযুক্ত নয়।
  • আমি এগুলিকে অবহেলা করেছি emকারণ remতারা ক্যাসকেড করার সাথে সাথে সেগুলির তুলনায় এগুলি রক্ষণ করার আরও বেশি ঝামেলা রয়েছে ।
  • কেউ কেউ বলে যে remগুলি রেজোলিউশন স্বাধীন এবং অতএব আরও পছন্দসই। তবে অন্যরা বলেন যে বেশিরভাগ আধুনিক ব্রাউজারগুলি যে কোনও উপায়ে সমস্ত উপাদানকে সমানভাবে জুম করে, তাই ব্যবহার pxকরা কোনও সমস্যা নয়।

আমি এটি জিজ্ঞাসা করছি কারণ সিএসএসে দূরত্বের সর্বাধিক কাঙ্ক্ষিত পরিমাপ কী তা সম্পর্কে অনেকগুলি মতামত রয়েছে এবং কোনটি সবচেয়ে ভাল তা আমি নিশ্চিত নই।


4
এটি বিতর্ক এবং বিতর্ক এবং মতামতের বিষয়, এসও তেমন ভাল প্রযুক্তিগত প্রশ্ন নয়। যাইহোক, সঠিক উত্তরটি "না" is ☺
Jukka K. Korpela

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

2
@ টিমভাইর্মেলেন এই প্রশ্নটি তার জীবদ্দশায় কেবল একবার বন্ধ করা হয়েছে। পরিবর্তিত পরিবর্তনটি মোটামুটি ছিল না, কারণ উত্তর এখনও পুরোপুরি সেই প্রসঙ্গে নির্ভর করে যে সম্ভবত সরবরাহ করা যায় না যদি না ওপি নির্দিষ্ট পরিস্থিতি সম্পর্কে জিজ্ঞাসা করার জন্য প্রশ্নটি সম্পাদনা না করে। সমস্ত ক্ষেত্রে কোনও "সেরা" বিকল্প নেই, সুতরাং এই প্রশ্নটি মতামত ভিত্তিক।
টাইলারএইচ

উত্তর:


418

টিএল; ডিআর: ব্যবহার px

ঘটনাগুলি

  • প্রথমত, প্রতি অনুমান করা জেনে রাখা অত্যন্ত গুরুত্বপূর্ণ যে , সিএসএস pxইউনিট কোনও শারীরিক প্রদর্শন পিক্সেলের সমান নয় । এটি সর্বদা সত্য ছিল - এমনকি ১৯৯ 1996 এর সিএসএস 1 স্পেসেও

    সিএসএস রেফারেন্স পিক্সেল সংজ্ঞা দেয় , যা একটি 96 ডিপিআই ডিসপ্লেতে পিক্সেলের আকার পরিমাপ করে। এমন একটি ডিসপ্লেতে যেখানে 96 ডিপিআই (যেমন রেটিনা ডিসপ্লে) এর চেয়ে ডিপিআই যথেষ্ট পরিমাণে আলাদা থাকে, ব্যবহারকারী এজেন্ট pxইউনিটটি পুনরায় বিক্রয় করে যাতে এর আকারটি একটি রেফারেন্স পিক্সেলের সাথে মেলে। অন্য কথায়, এই পুনরুদ্ধারটি ঠিক কেন 1 সিএসএস পিক্সেল 2 দৈহিক রেটিনা প্রদর্শন পিক্সেলের সমান।

    এটি বলেছিল, ২০১০ অবধি (এবং মোবাইল জুমের পরিস্থিতি সত্ত্বেও) pxপ্রায় সর্বদা একটি শারীরিক পিক্সেলের সমান করত, কারণ সমস্তভাবে উপলব্ধ ডিসপ্লেগুলি প্রায় ৯ 96 ডিপিআই ছিল।

  • emS তে নির্দিষ্ট আকারগুলি প্যারেন্ট উপাদানটির সাথে সম্পর্কিত । এটি em'' যৌগিক সমস্যা '' বাড়ে যেখানে নেস্টেড উপাদানগুলি ক্রমান্বয়ে বড় বা ছোট হয়। উদাহরণ স্বরূপ:

    body { font-size:20px; } 
    div { font-size:0.5em; }

    আমাদের দেয়:

    <body> - 20px
        <div> - 10px
            <div> - 5px
                <div> - 2.5px
                    <div> - 1.25px
  • সিএসএস 3 rem, যা সর্বদা কেবল মূল htmlউপাদানটির সাথে সম্পর্কিত, এখন ব্যবহৃত সমস্ত ব্রাউজারের 96% তে সমর্থিত ।

মতামত

আমি মনে করি সকলেই সম্মত হন যে আপনার পৃষ্ঠাগুলি প্রত্যেকের জন্য উপযুক্ত হওয়ার জন্য ডিজাইন করা ভাল এবং দৃষ্টি প্রতিবন্ধীদের জন্য বিবেচনা করা ভাল। এরকম একটি বিবেচনা (তবে একমাত্র নয়!) ব্যবহারকারীরা আপনার সাইটের পাঠ্যকে আরও বড় করে তুলতে দিচ্ছে, যাতে এটি পড়া সহজ হয়।

শুরুতে, ব্যবহারকারীদের পাঠ্য আকারের স্কেল করার একমাত্র উপায় ছিল আপেক্ষিক আকারের ইউনিট (যেমন emগুলি) ব্যবহার করে। এটি কারণ ব্রাউজারের ফন্ট আকার মেনু কেবল রুট ফন্টের আকার পরিবর্তন করে। সুতরাং, আপনি যদি ফন্টের আকারগুলি নির্দিষ্ট করে থাকেন pxতবে ব্রাউজারের ফন্ট আকারের বিকল্পটি পরিবর্তন করার সময় সেগুলি স্কেল করে না।

আধুনিক ব্রাউজারগুলি (এমনকি আধুনিক নয় এমন আধুনিক আই 7) সমস্তই চিত্র এবং বাক্সের আকারগুলি সহ সমস্ত কিছুতে কেবল জুম ইন করতে ডিফল্ট স্কেলিং পদ্ধতিটি পরিবর্তন করে। মূলত, তারা রেফারেন্স পিক্সেলটিকে আরও বড় বা ছোট করে।

হ্যাঁ, কেউ এখনও ব্রাউজারের ডিফল্ট স্টাইলশিটটি ডিফল্ট ফন্টের আকার (পুরানো-শৈলীর ফন্ট আকারের বিকল্পের সমতুল্য) মুছে ফেলার জন্য পরিবর্তন করতে পারে, তবে এটি এটির পক্ষে যাওয়ার একটি খুব মজাদার উপায় এবং আমি এই কাজটি কারও সাথেই করতে পারি না 1 এটি করেনা। (ক্রোমে, এটি উন্নত সেটিংস, ওয়েব সামগ্রী, ফন্ট আকারের অধীনে সমাহিত হয়েছে 9 আইই 9 তে এটি আরও লুকানো You আপনাকে আল্ট চাপতে হবে এবং দেখুন, পাঠ্য আকারে যেতে হবে)) কেবলমাত্র জুম বিকল্পটি নির্বাচন করা আরও সহজ in ব্রাউজারের প্রধান মেনু (বা Ctrl+ +/ -/ মাউস হুইল ব্যবহার করুন )।

1 - স্বাভাবিকভাবেই পরিসংখ্যানগত ত্রুটির মধ্যে

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

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

সুতরাং আমার উত্তর পিক্সেল ইউনিট ব্যবহার করুন। আমি pxসব কিছুর জন্য ব্যবহার করি। অবশ্যই, আপনার পরিস্থিতি পরিবর্তিত হতে পারে এবং আপনি যদি আই 6 সমর্থন করতে পারেন (আরএফসিগুলির দেবতারা আপনার উপর দয়া করতে পারেন), আপনাকে emযাইহোক এটি ব্যবহার করতে হবে ।


43
আপনার পিক্সেল এবং রিম ব্যবহার করা উচিত। সুতরাং নতুন ব্রাউজারগুলি রিম পান এবং পুরানো ব্রাউজারগুলি পিক্সেলগুলিতে ফিরে যায় (যেমন ওয়ার্ডপ্রেস 2012 এর মত)। এটি সাস বা কমের সাথে স্বয়ংক্রিয় করা যেতে পারে তাই আপনি যা করেন তা হ'ল পেক্স মানটি প্রবেশ করুন এবং এটি স্বয়ংক্রিয়ভাবে পিক্স এবং রেমকে আউটপুট করে।
চচ্চিরা

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

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

18
এই সম্পর্কে একটি ফলো আপ রাখা দুর্দান্ত হবে। রেম এখন 95% + সমর্থন এ।
উদাহরণস্বরূপ পরিসংখ্যানগুলি শিখুন

10
ভুল, আমি IE সম্পর্কে চিন্তা করি না (কারও উচিত নয়)।
ওয়াহিদ আমিরি

193

আমি কিছু দুর্দান্ত historical তিহাসিক প্রসঙ্গ সরবরাহের জন্য জোশ 3736 এর উত্তরের প্রশংসা করতে চাই । যদিও এটি ভালভাবে বর্ণিত হয়েছে, এই প্রশ্নটি জিজ্ঞাসা করার পরে প্রায় পাঁচ বছরে CSS ল্যান্ডস্কেপ পরিবর্তিত হয়েছে। এই প্রশ্নটি যখন জিজ্ঞাসা করা px হয়েছিল , সঠিক উত্তর ছিল, কিন্তু আজকের এই সত্যটি আর রাখে না।


tl; dr: userem

ইউনিট ওভারভিউ

Icallyতিহাসিকভাবে pxইউনিটগুলি সাধারণত একটি ডিভাইস পিক্সেল উপস্থাপন করে। উচ্চতর এবং উচ্চতর পিক্সেল ঘনত্বযুক্ত ডিভাইসগুলির সাথে এটি আর অনেকগুলি ডিভাইসের জন্য ধারণ করে না, যেমন অ্যাপলের রেটিনা প্রদর্শন সহ।

remইউনিটগুলি r oot em আকারকে উপস্থাপন করে । এটি font-sizeযাই হোক না কেন ম্যাচ :root। এইচটিএমএলের ক্ষেত্রে এটি <html>উপাদান; এসভিজির জন্য, এটি <svg>উপাদান। font-sizeপ্রতিটি ব্রাউজারে ডিফল্ট হয় * 16px

লেখার সময়, remপ্রায় 98% ব্যবহারকারী দ্বারা সমর্থিত । আপনার সম্পর্কে যে অন্যান্য 2% চিন্তিত থাকেন, তবে আমি তোমাদের মনে করিয়ে দেব যে মিডিয়া প্রশ্নের করছে এছাড়াও ব্যবহারকারীদের প্রায় 98% দ্বারা সমর্থিত

ব্যবহারের উপর px

ইন্টারনেটে বেশিরভাগ সিএসএস উদাহরণ pxমান ব্যবহার করে কারণ এগুলি ডি-ফ্যাক্টো স্ট্যান্ডার্ড। pt, inএবং অন্যান্য ইউনিট বিভিন্ন ক্ষেত্রে তত্ত্ব ব্যবহার করা যেতে পারে , তবে তারা ছোট মানগুলি ভালভাবে পরিচালনা করতে পারে না কারণ আপনাকে দ্রুত ভগ্নাংশগুলি অবলম্বন করতে হবে, যা টাইপ করতে দীর্ঘতর ছিল এবং এর পক্ষে যুক্তিযুক্ত হতে আরও শক্ত।

সঙ্গে আপনি একটি পাতলা সীমান্ত চেয়েছিলেন pxআপনি ব্যবহার করতে পারে 1px, সঙ্গে ptআপনি ব্যবহার করতে প্রয়োজন চাই 0.75ptসামঞ্জস্যপূর্ণ ফলাফলের জন্য, এবং যে শুধু খুব সুবিধাজনক নয়।

ব্যবহারের উপর rem

remএর ডিফল্ট মান 16pxএর ব্যবহারের জন্য খুব শক্ত যুক্তি নয়। লিখন 0.0625remহয় খারাপ লেখা চেয়ে 0.75pt, তাই কেন কেউ ব্যবহার করেন rem?

remঅন্যান্য ইউনিটগুলির থেকে লাভের জন্য দুটি অংশ রয়েছে ।

  • ব্যবহারকারীর পছন্দগুলি সম্মানিত হয়
  • আপনি যা চান তার আপাত pxমান পরিবর্তন remকরতে পারেন

ব্যবহারকারী পছন্দসমূহ সম্মান

কয়েক বছর ধরে ব্রাউজার জুম অনেক পরিবর্তন হয়েছে। .তিহাসিকভাবে অনেক ব্রাউজার কেবল মাত্রা বাড়িয়ে তুলত font-size, কিন্তু ওয়েবসাইটগুলি যখন বুঝতে পেরেছিল যে তাদের সুন্দর পিক্সেল-নিখুঁত ডিজাইনগুলি যখন কেউ জুম বা আউট করেছে তখন যে কোনও সময় ভেঙে যাচ্ছে। এই মুহুর্তে, ব্রাউজারগুলি পুরো পৃষ্ঠাটি স্কেল করে, তাই ফন্ট-ভিত্তিক জুমিং চিত্রের বাইরে।

ব্যবহারকারীর ইচ্ছাকে সম্মান করা চিত্রের বাইরে নয়। কেবলমাত্র কোনও ব্রাউজার 16pxডিফল্ট হিসাবে সেট করা থাকে , তার অর্থ এই নয় যে কোনও ব্যবহারকারী তাদের পছন্দ পছন্দগুলি পরিবর্তন করতে 24pxবা 32pxস্বল্প দৃষ্টি বা দুর্বল দৃশ্যমানতার জন্য সংশোধন করতে পারবেন না (প্রাক্তন স্ক্রীন ঝলক)। যদি আপনি নিজের ইউনিটগুলি remঅবলম্বন করেন তবে উচ্চতর ফন্ট-আকারের যে কোনও ব্যবহারকারী আনুপাতিকভাবে বড় সাইট দেখতে পাবেন। সীমানা বড় হবে, প্যাডিং বড় হবে, মার্জিন বড় হবে, সবকিছু তরলভাবে মাপবে scale

আপনি যদি আপনার মিডিয়া প্রশ্নগুলিকে ভিত্তি করে থাকেন তবে আপনি remএটিও নিশ্চিত করতে পারেন যে আপনার ব্যবহারকারীরা যে সাইট দেখছেন সেগুলি তাদের স্ক্রিনের সাথে খাপ খায়। ব্যবহারকারীর সঙ্গে font-sizeসেট 32pxএকটি উপর 640pxব্যাপক ব্রাউজার, কার্যকরভাবে যেমন একজন ব্যবহারকারী দেখানো আপনার সাইটের দেখবে 16pxএকটি উপর 320pxব্যাপক ব্রাউজার। একেবারে ব্যবহারে RWD জন্য কোন ক্ষতি নেই rem

আপাতত pxমান পরিবর্তন করা হচ্ছে

কারণ remউপর ভিত্তি করে তৈরি font-sizeএর :rootনোড, আপনি কি পরিবর্তন করতে চান তাহলে 1remপ্রতিনিধিত্ব করে, সব আপনাকে যা করতে হবে পরিবর্তন হয় font-size:

:root {
  font-size: 100px;
}
body {
  font-size: 1rem;
}
<p>Don't ever actually do this, please</p>

আপনি যা করেন না কেন, :rootউপাদানটির font-sizeকোনও pxমান নির্ধারণ করবেন না ।

আপনি সেট করেন তাহলে font-sizeউপর htmlএকটি থেকে pxমান, আপনি একটি উপায় তাদের ফিরে পেতে ছাড়া ব্যবহারকারীর পছন্দগুলি দূরে প্রস্ফুটিত গেছেন।

আপনি যদি আপাত মান পরিবর্তন করতে চান তবে ইউনিটগুলি remব্যবহার করুন %

এর জন্য গণিতটি যুক্তিসঙ্গতভাবে সরাসরি-সামনের দিকে।

আপাত ফন্ট সাইজ :rootহয় 16px, কিন্তু বলতে আমরা এটি পরিবর্তন করতে চান করতে দেয় 20px। আমাদের যা করতে হবে তা হ'ল 16কিছু মান পেতে হবে 20

আপনার সমীকরণ সেট আপ করুন:

16 * X = 20

এবং এর জন্য সমাধান করুন X:

X = 20 / 16
X = 1.25
X = 125%

:root {
  font-size: 125%;
}
<p>If you're using the default font-size, I'm 20px tall.</p>

বহুগুণে 20সমস্ত কিছু করা এত দুর্দান্ত নয়, তবে একটি সাধারণ পরামর্শ হল আপাত আকারের remসমান করা 10px। এর জন্য যাদু নম্বরটি 10/16যা 0.625, বা 62.5%

:root {
  font-size: 62.5%;
}
<p>If you're using the default font-size, I'm 10px tall.</p>

এখন সমস্যাটি হচ্ছে আপনার font-sizeবাকী পৃষ্ঠাটির জন্য ডিফল্টটি খুব ছোট সেট করা হয়েছে তবে এর জন্য একটি সহজ ফিক্স রয়েছে: font-sizeএটি bodyব্যবহার করে সেট করুন rem:

:root {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
}
<p>I'm the default font-size</p>

এটি লক্ষণীয় গুরুত্বপূর্ণ যে স্থানে এই সামঞ্জস্যের সাথে, আপাত মানটির অর্থ remহ'ল 10pxযার অর্থ আপনি যে কোনও মান লিখেছেন সেটি একটি দশমিক স্থানকে ধাক্কা দিয়ে pxসরাসরি রূপান্তর করতে পারে rem

padding: 20px;

পরিণত হয়

padding: 2rem;

আপনার চয়ন করা আপাত ফন্ট-আকার আপনার উপর নির্ভর করে তাই আপনি যদি চান তবে কোনও কারণ নেই যা আপনি ব্যবহার করতে পারবেন না:

:root {
  font-size: 6.25%;
}
body {
  font-size: 16rem;
}

এবং 1remসমান আছে 1px

সুতরাং আপনার কাছে এটি রয়েছে, আপনার সিএসএসকে অতিরিক্ত জটিলতা এড়াতে ব্যবহারকারীর শুভেচ্ছাকে সম্মান করার একটি সহজ সমাধান।

দাঁড়াও, তাহলে কী ধরা?

আমি ভীত ছিলাম যে আপনি এটি জিজ্ঞাসা করতে পারেন। আমি যতটা ভান করতে চাই remতা যাদু এবং সমস্ত কিছু সলভ করে, এখনও কিছু নোটের বিষয় রয়েছে। আমার মতে কিছু ভাঙ্গার বিষয় নয়, তবে আমি তাদের ফোন করব যাতে আপনি বলতে পারেন না যে আমি আপনাকে সতর্ক করেছিলাম না।

মিডিয়া ক্যোয়ারী (ব্যবহার em)

আপনি যে প্রথম সমস্যার সাথে চালাবেন তার মধ্যে একটিতে remমিডিয়া প্রশ্নগুলি জড়িত। নিম্নলিখিত কোড বিবেচনা করুন:

:root {
  font-size: 1000px;
}
@media (min-width: 1rem) {
  :root {
    font-size: 1px;
  }
}

এখানে remমিডিয়া-ক্যোয়ারী প্রযোজ্য কিনা এবং মিডিয়া ক্যোয়ারী এর মানের উপর নির্ভর করে পরিবর্তনের মান নির্ভর করে rem, তাই পৃথিবীতে কী চলছে?

remমিডিয়া ক্যোয়ারিগুলিতে প্রাথমিক মান ব্যবহার font-sizeএবং করা উচিত নয় (সাফারি অধ্যায় দেখুন) একাউন্টে কোনো পরিবর্তন যে ঘটে থাকতে পারে নিতে font-sizeএর :rootউপাদান। অন্য কথায়, এটির আপাত মান সর্বদা 16px

এটি কিছুটা বিরক্তিকর, কারণ এর অর্থ হল যে আপনাকে কিছু ভগ্নাংশ গণনা করতে হবে তবে আমি খুঁজে পেয়েছি যে সর্বাধিক সাধারণ মিডিয়া অনুসন্ধানগুলি ইতিমধ্যে 16 এর গুণাবলীযুক্ত মানগুলি ব্যবহার করে।

|   px | rem |
+------+-----+
|  320 |  20 |
|  480 |  30 |
|  768 |  48 |
| 1024 |  64 |
| 1200 |  75 |
| 1600 | 100 |

অতিরিক্ত হিসাবে আপনি যদি সিএসএস প্রিপ্রোসেসর ব্যবহার করেন তবে আপনি আপনার মিডিয়া ক্যোয়ারী পরিচালনা করতে মিক্সিন বা ভেরিয়েবল ব্যবহার করতে পারেন, যা পুরোপুরি ইস্যুটি মাস্ক করবে।

আফ্রিকায় শিকার অভিযান

দুর্ভাগ্যক্রমে সাফারি সহ একটি পরিচিত বাগ রয়েছে যেখানে :rootফন্ট-আকারের পরিবর্তনগুলি remমিডিয়া ক্যোয়ারী রেঞ্জের জন্য গণনা করা মানগুলিকে পরিবর্তন করে । যদি :rootউপাদানটির ফন্ট-আকার কোনও মিডিয়া ক্যোয়ারির মধ্যে পরিবর্তিত হয় তবে এটি কিছু অদ্ভুত আচরণের কারণ হতে পারে । : সৌভাগ্যবশত ফিক্স সহজ ব্যবহার emমিডিয়া প্রশ্নের জন্য ইউনিট

প্রসঙ্গ স্যুইচিং

আপনি যদি বিভিন্ন বিভিন্ন প্রকল্পের মধ্যে স্যুইচ করেন তবে এটি সম্ভবত সম্ভব যে আপাতর ফন্ট-আকারের remবিভিন্ন মান থাকবে। একটি প্রকল্পে, আপনি সম্ভবত 10pxঅন্য কোন প্রকল্পে যেখানে আপাত আকার হতে পারেন তার একটি আপাত আকার ব্যবহার করছেন 1px। এটি বিভ্রান্তিকর হতে পারে এবং সমস্যার কারণ হতে পারে।

এখানে আমার একমাত্র সুপারিশটি হ'ল একটি আপাত আকারে 62.5%রূপান্তরিত remহওয়ার জন্য লেগে থাকা 10px, কারণ এটি আমার অভিজ্ঞতাতে বেশি সাধারণ।

সিএসএস লাইব্রেরি ভাগ করা হয়েছে

আপনি যদি এমন কোনও সাইট ব্যবহার করেন যা আপনি নিয়ন্ত্রণ করেন না এমন কোনও সিএসএস লিখছেন যেমন এমবেডেড উইজেটের জন্য, আপাত আকারের কী remহবে তা জানার সত্যিই ভাল উপায় নেই । যদি এটি হয় তবে অবিরতভাবে ব্যবহার চালিয়ে যান px

আপনি যদি এখনও ব্যবহার করতে চান remতবে এর আকারের আকারের জন্য স্কেলিংকে ওভাররাইড করার জন্য একটি পরিবর্তনশীল সহ স্টাইলশিটের স্যাস বা LSS সংস্করণ প্রকাশের বিষয়টি বিবেচনা করুন rem


* আমি কাউকে ব্যবহার থেকে দূরে রাখতে চাই না rem, তবে প্রতিটি ব্রাউজার 16pxডিফল্টরূপে ব্যবহার করে তা আমি আনুষ্ঠানিকভাবে নিশ্চিত করতে সক্ষম হইনি । আপনি দেখুন, প্রচুর ব্রাউজার রয়েছে এবং একটি ব্রাউজারের পক্ষে এতটুকু বলা, বলা 15pxবা বলা যায় এমন কিছু এতদূর মুছে ফেলা উচিত নয় 18px। পরীক্ষায়, তবে আমি এমন একটি উদাহরণও দেখিনি যেখানে ডিফল্ট সেটিংস ব্যবহার করে কোনও ব্রাউজারের ডিফল্ট সেটিংস ব্যবহার করে অন্য কোনও মান থাকে 16px। যদি আপনি এরকম উদাহরণ পান তবে দয়া করে এটি আমার সাথে ভাগ করুন।


আমি জানি এটি দেরি হয়ে গেছে তবে, আমি আরইএম ব্যবহারের পদ্ধতিটি পছন্দ করি তবে আমি যখন matrix()জাভাস্ক্রিপ্ট ব্যবহার করি যা ম্যাট্রিক্স অনুবাদ মান ব্যবহার করে px(আমি যদি ভুল হয়ে থাকি তবে আমাকে সংশোধন করে ) ব্যবহার করি এবং রিম ব্যবহার করতে আমার বেশিরভাগ সমস্যা হয় rem ।
আম্পারসান্ডা

3
@ আম্পারসান্ডা, জাভাস্ক্রিপ্টে আপনি মূলত গণিত পিক্সেল মান ব্যবহার করতে যাচ্ছেন। আমার সুপারিশটি হ'ল ক্লাসগুলি টগল করা যাতে সম্ভব হয় যাতে CSS কীভাবে জিনিসগুলি দেখতে দেয় তা পরিচালনা করতে পারে। কিছু জিনিসের জন্য আপনি জিক্স ব্যবহার করে পিক্সেল মানগুলি গণনা করতে পারবেন না, সুতরাং আপনার সেরা বেটটি ডিওএম রাষ্ট্র থেকে পিক্সেলের মান গণনা করা।
zzzzBov

আমি দেখতে পাচ্ছি, getComputedStyle()তবে ফলাফলটি সর্বদা পিক্সেলের উপরে রয়েছে, সুতরাং ফলাফলটি remমান দ্বারা (যেমন 16) ভাগ করতে হবে । CMIIW
Ampersanda

@ অ্যাম্পারসান্দার কেবলমাত্র যদি আপনি প্রকৃতপক্ষে কোনও remমান উৎপন্ন করেন , যদি আপনার ইতিমধ্যে সঠিক pxমান থাকে remতবে প্রদত্ত প্রসঙ্গের জন্য ইতিমধ্যে গণনা করা জিনিসগুলির জন্য ইউনিটগুলিতে স্যুইচ করার দরকার নেই ।
zzzzBov

1rem 1px সমান আছে : Chrome এর ন্যূনত হরফ আকার কারণে এই কারণগুলো যন্ত্রণার stackoverflow.com/questions/44378664/... stackoverflow.com/questions/24200797/...
পল

44

এই নিবন্ধটি চমত্কার অনুকূল এবং কনস বর্ণনা px, emএবং rem

লেখক শেষ পর্যন্ত সিদ্ধান্তে পৌঁছেছেন যে সর্বোত্তম পদ্ধতিটি সম্ভবত উভয়ই ব্যবহার করা pxএবং পুরানো ব্রাউজারগুলির জন্য প্রথমে remঘোষণা করা pxএবং remনতুন ব্রাউজারগুলির জন্য পুনরায় ঘোষণা করা :

html { font-size: 62.5%; } 
body { font-size: 14px; font-size: 1.4rem; } /* =14px */
h1   { font-size: 24px; font-size: 2.4rem; } /* =24px */

1
হ্যাঁ, এটিই আমাকে প্রথম স্থানে রেমের প্রতি আগ্রহী করে তুলেছিল। দুটি জিনিস যা আমি বুঝতে পারি না: তিনি এটিকে কেবল ফন্টগুলির জন্য পরিমাপের একক হিসাবে পরামর্শ দেন (উপাদান নয়), এবং আমি যদি তাকে সঠিকভাবে বুঝতে পারি তবে ব্যবহার করার একমাত্র আসল কারণ (র) এএমই তাই ব্যবহারকারীরা পাঠ্যটির আকার পরিবর্তন করতে পারবেন?

1
@ সামুয়েল আমি এটি বিশ্বাস করি। পাঠ্য পুনরায় আকার দেওয়ার জন্য না হলে, আমি বিশ্বাস করি আমরা ব্যবহার করতে পছন্দ করব px। উপাদানগুলির ইউনিট pxহিসাবে, আপনি সাধারণত উপাদানগুলি সঠিকভাবে আকার করতে চান হিসাবে স্টিক করা আরও ভাল।
উজাইন

তবে আপনি যদি তা করেন তবে যে কোনও ব্রাউজার সেটিং যা বেস ফন্ট-আকারকে নতুনভাবে সংজ্ঞায়িত করে তা আপনার লেআউটটি ঠিক ঠিক স্ক্রু আপ করতে পারে? রিম সব কিছুর জন্য নয় কেন?

1
এখানে অনেক মন্তব্য নোট করেছেন যে, আমাদের খাদের pxযা দরকার ছিল তা হ'ল আকার পরিবর্তন করা সক্ষম করা। এখন যদি আমরা ব্যবহার remকরি তবে আমাদের এখনও pxফ্যালব্যাক সরবরাহ করতে হবে (পুরানো ব্রাউজারগুলিতে)। মূলত এর pxপুনর্নির্মাণের সমর্থনটি যা বোঝায় তার চেয়ে ভাল rem। নবীনতর ব্রাউজার সমর্থন pxমাপ এবং বয়স্ক ব্রাউজারের জন্য কোন ভাবেই আমরা ফলব্যাক করতে যাচ্ছি px। এখন এই উপসংহারের আলোকে ভিত্তিতে, আমি জানতে আগ্রহী, কেন ব্যবহার করব rem? যদি আমি টানেলের শেষে আলো দেখতে পাই।
ফিউশনস্ট্রিংস

3
62.5% = 10px এর মতো মানগুলির কোনও গ্যারান্টি নেই। ব্রাউজারের ডিফল্ট ফন্টের আকার 16px এ সেট করা থাকলেই এটি সত্য হয়। যদিও এটি ডিফল্ট, এটির নিশ্চয়তা নেই।
cimmanon

7

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

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

সুতরাং, সামগ্রিকভাবে, নিজেকে জিজ্ঞাসা করুন এটির মূল্য কিনা - আপনি CSS এর মধ্যে পুরো নথির "জুম স্তর" পরিবর্তন করা কতটা গুরুত্বপূর্ণ এবং সম্ভাবনা?

কিছু ক্ষেত্রে এটি হ্যাঁ, কিছু ক্ষেত্রে এটি হবে না।

সুতরাং, এটি আপনার প্রয়োজনের উপর নির্ভর করে এবং আপনার পক্ষে ভাল এবং কৌতূহল ওজন করতে হবে, কারণ রিম এবং ইম ব্যবহার করে "স্বাভাবিক" পিক্সেল-ভিত্তিক কর্মপ্রবাহের তুলনায় কিছু অতিরিক্ত বিবেচনা প্রবর্তন করা হয়।

মনে রাখবেন যে আপনার সিএসএসকে পিএক্স থেকে রিমে স্যুইচ (বা পরিবর্তিত রূপান্তর) করা সহজ (জাভাস্ক্রিপ্ট অন্য গল্প), কারণ সিএসএস কোডের নিম্নলিখিত দুটি ব্লক একই ফলাফল তৈরি করবে:

html {
}

body {
  font-size:14px;
}

.someElement {
  width: 12px;
}

html {
  font-size:1px;
}

body {
  font-size:14rem;
}

.someElement {
  width: 12rem;
}

6

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


নীচে জিআইএফ-র বাম পাশের পাঠ্যটি ফন্ট সাইজ আরইএম ইউনিট ব্যবহার করে সেট করা হয়েছে যখন ডান দিকের ফন্টটি পিএক্স ইউনিট দ্বারা সেট করা হয়েছে।

এখানে চিত্র বর্ণনা লিখুন

আপনি দেখতে পাচ্ছেন যে আমি যখন ওয়েব পৃষ্ঠার ডিফল্ট ফন্ট-আকারের আকার পরিবর্তন করি তখন আরইএম স্বয়ংক্রিয়ভাবে উপরে / নীচে নেমে যায় (

কোনও ওয়েবপৃষ্ঠার ডিফল্ট ফন্টের আকার 16px যা 1 html{font-size:100%}রিমের সমান (কেবলমাত্র ডিফল্ট এইচটিএমএল পৃষ্ঠার জন্য ), সুতরাং, 1.25 ক্রেম 20px এর সমান।

পিএস: আর কে আরএম ব্যবহার করছে? সিএসএস ফ্রেমওয়ার্কস! বুটস্ট্র্যাপ 4, বুলমা সিএসএস ইত্যাদির মতো এটির সাথে আরও ভাল করে চলুন।


3

josh3736 এর উত্তরটি উত্তম, তবে 3 বছর পরে একটি পাল্টা পয়েন্ট দেওয়ার জন্য:

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

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

ক্যানিউজ ডট কম বলেছে যে 2012 সালে josh3736 তার উত্তর পোস্ট করলে ব্রাউজারগুলির কেবলমাত্র 75%, তবে ২ 27 শে মার্চ পর্যন্ত তারা 93.78% সমর্থন দাবি করে । তারা যে ব্রাউজারগুলি ট্র্যাক করে তা কেবল আইই 8 সমর্থন করে না।


1
Only IE8 doesn't support it among the browsers they track.তাই না? লিঙ্কযুক্ত পৃষ্ঠাতে বলা হয়েছে যে "আই 9 এবং আই 1010 ফন্ট শর্টহ্যান্ড সম্পত্তি বা সিউডো উপাদানগুলিতে ব্যবহার করার সময় রিম ইউনিটগুলি সমর্থন করে না। আই 9, 10 এবং 11 লিন-উচ্চতার বৈশিষ্ট্যগুলিতে ব্যবহার করার সময় রিম ইউনিটগুলি সমর্থন করে না: সিউডো উপাদানগুলির আগে এবং: পরে। পৃষ্ঠাতে যখন Chrome এ জুম বাড়ানো হয় তখন আকারের সীমানাগুলি অদৃশ্য হয়ে যায়। স্যামসাং নোট II অ্যান্ড্রয়েড 4.3 ব্রাউজার এবং অ্যান্ড্রয়েড 4.2 এ স্যামসং গ্যালাক্সি ট্যাব 2 এ কাজ করে না। ক্রম ৩১-৩৪ এবং ক্রোম-ভিত্তিক অ্যান্ড্রয়েডের (৪.৪ এর মতো) ফন্ট সাইজের বাগ রয়েছে যখন মূল উপাদানটির শতাংশ-ভিত্তিক আকার থাকে ”"

এছাড়াও, আপনার সম্পর্কিত সম্পর্কিত as of March 27 they claim 93.78% support.এই মন্তব্যটি লেখার সময়, ক্যানিউজ কেবল 91.79% সম্পূর্ণ ব্রাউজার সমর্থন দেখায়। আপনার শতাংশের দিকে তাকালে, আমি নিশ্চিত যে আপনি বগী ব্রাউজার সমর্থনটিও অন্তর্ভুক্ত করেছেন (বর্তমানে ২.৮%, যা optim৯..6% সামগ্রিক কভারেজ হিসাবে আশাবাদী হতে পারে - তবে সত্য যে এই ২.৮% বগি, অসম্পূর্ণ বা এমনকি সম্পূর্ণরূপে আসে) ব্যর্থ সমর্থন ... যেমনটি আমার পূর্ববর্তী মন্তব্যে উল্লিখিত হয়েছে: প্রতিটি বাগ বিভিন্ন ব্রাউজার সংস্করণ এবং অপারেটিং সিস্টেমের সংমিশ্রণের ফলাফল You) আপনি সেই অনুযায়ী আপনার উত্তরটি সংশোধন করতে চাইতে পারেন…
ই-সুশি

1

আমি ওয়েবসাইটের ফন্টের আকারগুলি প্রোগ্রাম করার সর্বোত্তম উপায়টি খুঁজে পেয়েছি হ'ল এর জন্য একটি বেস ফন্টের আকার নির্ধারণ করা bodyএবং তারপরে font-sizeআমি যে সমস্ত ঘোষণা করি তার জন্য ইমের (বা রিম এর) ব্যবহার করা । আমি মনে করি এটি ব্যক্তিগত পছন্দ, তবে এটি আমাকে ভালভাবে পরিবেশন করেছে এবং আরও প্রতিক্রিয়াশীল নকশাকে অন্তর্ভুক্ত করা খুব সহজ করে তুলেছে ।

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


ঠিক আছে. তবে প্রতিক্রিয়াশীল ডিজাইন ঠিক পিক্স ইউনিটগুলির সাথে ঠিক ঠিকভাবে সম্পন্ন হয়েছে (কেবলমাত্র তাদের মিডিয়া প্রশ্নগুলি এম এর পরিবর্তে পিএক্সের ভিত্তিতে লিখুন)?

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

আমি ব্রাউজার সমর্থন সম্পর্কে সত্যই উদ্বিগ্ন নই। আমি কেবল সমস্ত আকারের জন্য একটি ফ্যালব্যাক পিএক্স আকার অন্তর্ভুক্ত করব, যাতে পুরানো ব্রাউজারগুলিকে ব্যাখ্যা করার মতো কিছু থাকে।

তারপরে রিম ব্যবহার করে প্রগতিশীল পথে যান। যতক্ষণ আপনি ফ্যালব্যাক সরবরাহ করেন, ততক্ষণ আমি কোনও ক্ষতি দেখছি না। আমার কাছে যদিও এটি কেবল অতিরিক্ত কাজের মতো মনে হচ্ছে, তবে সম্ভবত আপনার পরিস্থিতিতে নয়।
সিরিয়ালারসেনি

0

ptঅনুরূপ rem, এটি তুলনামূলকভাবে স্থির হলেও প্রায় সবসময়ই ডিপিআই-স্বতন্ত্র, এমনকি যখন অ-অনুগত ব্রাউজারগুলি pxকোনও ডিভাইস-নির্ভর ফ্যাশনে আচরণ করে। remমূল উপাদানটির ফন্টের আকারের সাথে পরিবর্তিত হয় তবে আপনি স্বয়ংক্রিয়ভাবে এটি করতে সাস / কম্পাসের মতো কিছু ব্যবহার করতে পারেন pt

আপনার যদি এটি ছিল:

html {
    font-size: 12pt;
}

তারপর 1remসর্বদা হবে 12ptremএবং emতারা নির্ভর করে এমন উপাদানগুলির মতো কেবল ডিভাইস-স্বতন্ত্র; কিছু ব্রাউজার নির্দিষ্ট অনুযায়ী আচরণ করে না এবং pxআক্ষরিক আচরণ করে । এমনকি ওয়েবের পুরানো দিনগুলিতে, 1 পয়েন্টটি ধারাবাহিকভাবে 1/72 ইঞ্চি হিসাবে বিবেচিত হত - এটি হ'ল একটি ইঞ্চিতে points২ পয়েন্ট রয়েছে।

আপনার যদি একটি পুরানো, অ-সঙ্গতিপূর্ণ ব্রাউজার থাকে এবং আপনার রয়েছে:

html {
    font-size: 16px;
}

তারপরে 1remডিভাইস-নির্ভর হতে চলেছে। htmlডিফল্টরূপে উত্তরাধিকার সূত্রে প্রাপ্ত উপাদানগুলির 1emজন্যও ডিভাইস-নির্ভর। 12ptহবে আশা : নিশ্চিত ডিভাইস-স্বাধীন সমতুল্য 16px / 96px * 72pt = 12pt, যেখানে 96px = 72pt = 1in

আপনি নির্দিষ্ট ইউনিটে আটকে থাকতে চাইলে গণিতটি করা বেশ জটিল হয়ে উঠতে পারে। উদাহরণস্বরূপ, .75em of html = .75rem = 9ptএবং .66em of .75em of html = .5rem = 6pt। থাম্ব একটি ভাল নিয়ম:

  • ptপরম আকারের জন্য ব্যবহার করুন । মূল উপাদানটির তুলনায় আপনার যদি সত্যিই গতিশীল হওয়ার প্রয়োজন হয় তবে আপনি সিএসএসের খুব বেশি জিজ্ঞাসা করছেন; আপনার সাস / এসসিএসএসের মতো সিএসএসে সংকলিত একটি ভাষা দরকার।
  • emআপেক্ষিক আকারের জন্য ব্যবহার করুন । "আমি বামদিকে মার্জিনটি কোনও চিঠির সর্বাধিক প্রস্থের হতে চাই" বা "এই উপাদানটির পাঠ্যটিকে তার চারপাশের চেয়ে খানিকটা বড় করে তুলতে চাই" - এই কথা বলতে পেরে এটি খুব সহজ। <h1>এটি একটি ভাল উপাদান যা এর জন্য ইম্সে ফন্টের আকারটি ব্যবহার করা উচিত, যেহেতু এটি বিভিন্ন জায়গায় উপস্থিত হতে পারে তবে এটি সর্বদা কাছের পাঠ্যের চেয়ে বড় হওয়া উচিত। এইভাবে, প্রয়োগ করা প্রতিটি শ্রেণীর জন্য আপনার আলাদা ফন্টের আকার লাগবে না h1: ফন্টের আকারটি স্বয়ংক্রিয়ভাবে মানিয়ে নেবে।
  • pxখুব ছোট আকারের জন্য ব্যবহার করুন । খুব ছোট আকারের এ, pt96 ডিপিআই কিছু ব্রাউজারে ঝাপসা পেতে পারেন, যেহেতু ptএবং pxবেশ লাইন আপ না। আপনি যদি কেবল পাতলা, এক-পিক্সেল সীমানা তৈরি করতে চান তবে তাই বলুন। আপনার যদি উচ্চ-ডিপিআই ডিসপ্লে থাকে, তবে এটি পরীক্ষার সময় আপনার কাছে স্পষ্ট হবে না, তাই জেনেরিক 96-ডিপিআই ডিসপ্লেটি কোনও পর্যায়ে পরীক্ষা করতে ভুলবেন না।
  • হাই-ডিপিআই প্রদর্শনগুলিতে জিনিসগুলিকে অভিনব করে তুলতে সাবপিক্সেলগুলিতে ডিল করবেন না। কিছু ব্রাউজার এটিকে সমর্থন করতে পারে - বিশেষত উচ্চ-ডিপিআই প্রদর্শনগুলিতে - তবে এটি কোনও নম্বর নয়। বেশিরভাগ ব্যবহারকারী বড় এবং পরিষ্কার পছন্দ করেন, যদিও ওয়েব আমাদের বিকাশকারীদের অন্যথায় শিখিয়েছে। আপনি যদি অত্যাধুনিক স্ক্রিনগুলির সাথে আপনার ব্যবহারকারীদের জন্য বর্ধিত বিশদ যুক্ত করতে চান তবে আপনি ভেক্টর গ্রাফিক্স (পড়ুন: এসভিজি) ব্যবহার করতে পারেন, যা আপনার যাইহোক করা উচিত।

1
পিটি মুদ্রিত মিডিয়াগুলির জন্য এবং স্ক্রিনগুলির জন্য কখনই ব্যবহার করা উচিত নয়
sf

@ এসএফ সিএসএস পিটি এবং পিক্সকে সংজ্ঞায়িত করে যে তারা সর্বদা একই অনুপাত, যদিও এই পদগুলির প্রযুক্তিগতভাবে সঠিক ব্যবহার না করা হয়েছে (72pt = 96px = 1in) in আসলে, সিএসএসে, px আসলে কোনও একক ডিভাইস পিক্সেল নয়। আমার স্ক্রিনে, 1px 2 ডিভাইস পিক্সেল। Pt ওভার px ব্যবহার করার সুবিধাটি হ'ল আপনি টেক্সট-সম্পর্কিত মাপের সাথে সম্পর্কিত উপাদানগুলির মাপগুলি সহজেই নির্দিষ্ট করতে পারেন।
জেনেক্সার

-2

অর্ধ (তবে মাত্র অর্ধেক) জঘন্য জবাব (বাকী অর্ধেকটি আমলাতন্ত্রের বাস্তবতাকে ঘৃণা করে):

Vh ব্যবহার করুন

ব্রাউজার উইন্ডোতে সবসময় আকার থাকে।

সর্বদা নীচে স্ক্রোলটি মঞ্জুরি দিন

দেহের প্রস্থকে স্থির 50vh হিসাবে সেট করুন, এবং কোনও কিছুই প্যারেন্ট ডিভের বাইরে ভাসমান বা বিচ্ছিন্ন হয় না। এবং স্টাইল কেবল টেবিলগুলি ব্যবহার করে তাই সবকিছু প্রত্যাশার সাথে দৃ rig়ভাবে স্থানে রাখা হয়। ব্যবহারকারী যে কোনও সিআরটিএল +/- ক্রিয়াকলাপটি পূর্বাবস্থায় ফেরাতে জাভাস্ক্রিপ্ট ফাংশন অন্তর্ভুক্ত করুন।

যে লোকেরা আপনাকে জিনিসগুলি তাদের মক-আপের সাথে মেলে ধরতে বলে, তাদের বাদে সকলেই আপনাকে ঘৃণা করবে এবং তারা আনন্দিত হবে। এবং প্রত্যেকেই জানে যে তাদের মতামত একমাত্র গুরুত্বপূর্ণ।


-3

হ্যাঁ. বা, বরং, না।

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

হালনাগাদ:

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

আপনি যখন বিদ্যমান কোড বেসে পুনরায় নকশা পুনরায় নকশা করছেন এবং বাসা বাঁধার সমস্যাগুলি রোধ করার জন্য px এর সুনির্দিষ্টতার প্রয়োজন হয় তখন প্রায়শই পিএক্স প্রয়োজন হয়।


সুতরাং আপনার উত্তর যে এটি কোন ব্যাপার না? অথবা এমন কিছু পরিস্থিতি রয়েছে যেখানে আপনি একে অপরকে মূল্য দেবেন? এবং যদি তা হয় তবে কোন পরিস্থিতিতে এটি হবে?

@ সামুয়েল হ্যাঁ, আপনি এক বা অন্যটি ব্যবহার করতে চান এমন অনেক সময় থাকতে পারে। আমি আরও তথ্যের সাথে আমার উত্তর আপডেট করেছি।
ডিএ

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

আপনি যদি স্ক্র্যাচ থেকে শুরু করতে পারেন এবং বেস ফন্টের আকারটি ব্যবহার করতে এবং তার সাথে সবকিছুই তুলনামূলকভাবে তৈরি করতে চান তবে "কেন তাদের [...] দুর্দান্ত ?" (আর) এম এর ওভার পিক্সের সুবিধা কী? আইআই ব্যবহারকারীরা কি পাঠ্যটির আকার পরিবর্তন করতে পারেন, বা পিক্সের চেয়েও আরও কিছু সুবিধা রয়েছে (যা আরও সহজ বলে মনে হচ্ছে)?

EM এবং REM এর একই সুবিধা রয়েছে: আপনি এইচটিএমএল বা BODY নির্দিষ্ট ফন্ট আকারে সেট করতে পারেন (10px বলুন) এবং তারপরে বাকি সমস্ত কিছু EM বা REM হিসাবে সেট করতে পারেন। এইভাবে, আপনি যদি সমস্ত ধরণের আনুপাতিকভাবে বড় করতে চান তবে আপনি কেবলমাত্র একটি প্রাথমিক 10px শৈলী 11px এ পরিবর্তন করুন। 5 বছর আগে যখন আমরা সকলেই নিজস্ব কাস্টম জেএস ভিত্তিক ফন্টের আকার পরিবর্তনকারী উইজেটগুলি তৈরি করছিলাম তখন এটি আরও কার্যকর হয়েছিল। আজকাল, ব্রাউজারগুলি জুমিং (বিশেষত মোবাইল) এ এমন আরও ভাল কাজ করে যে আমি এটির কোনও উপকারের চেয়ে কম পাই। আপনি যদি পিএক্সকে সহজ বলে মনে করেন তবে এটি আপনার পক্ষে একটি উপকারী এবং অবশ্যই পিএক্সের সাথে যাওয়ার একটি কার্যকর কারণ।
ডিএ

-4

ইমগুলি কেবল ফন্টের জন্য নয়, আপনি বাক্স, লাইন বেধ এবং অন্যান্য স্টাফগুলিও ব্যবহার করতে পারেন, কেন?

জুম করার জন্য ব্রাউজারে কেবলমাত্র কেবল সেগুলিই Alt + এবং Alt- কীগুলির সাথে একত্রিত হয় Put

অন্যান্য পরিমাপের স্কেল, তবে কোনও ইমের মতো পরিষ্কার নয়।

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


3
তবে আজকাল বেশিরভাগ ব্রাউজারগুলি সমস্ত পৃষ্ঠার উপাদানগুলিকে সমানভাবে জুম করে তোলে (যদি না আপনি বেস ফন্টের আকারটি সামঞ্জস্য করেন), যাতে (আর) এম ব্যবহারের সুবিধাটি আধুনিক ব্রাউজারগুলির পক্ষে ঠিক সত্য নয়?

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

(ধারাবাহিক) উভয় দিক জুড়ে গুণের সাথে প্রয়োগ করা হয়েছে এবং ফলস্বরূপ কিছু ক্ষেত্রে খারাপভাবে অনুপাতযুক্ত দেখার অনুপাত দিতে পারে।
shawty

2
জুম করার জন্য ব্রাউজারে কেবল ওল্ড + এবং কী-এর সাথে একত্রে স্কেল করে কেবল সেগুলিই রাখুন "" = এটি ভুল।
ডিএ

ঠিক আছে তাই আমি এটি আরও ভাল বলতে পারি, সংশোধনের জন্য আমার আগের মন্তব্য দেখুন।
shawty

-5

কেবলমাত্র অন্ধ মানুষকেই নয়, লোকেরা সারাক্ষণ এমন কাজ করে যা +/- স্কেলিং পরিচালনা করে এমন মিডিয়া প্রশ্নের জন্য স্কেলগুলি কেবলমাত্র ইএম হ'ল M কেন এই বিষয়টি গুরুত্বপূর্ণ তা সম্পর্কে আরও একটি খুব লিখিত পেশাদার প্রদর্শন ration

যাইহোক, এই কারণেই জুরব ফাউন্ডেশন ইএমএস ব্যবহার করে , যখন নিকৃষ্ট বুটস্ট্র্যাপ 3 এখনও পিক্সেল ব্যবহার করে।


2
এটি সত্যই সঠিক নয়। পুরানো দিনগুলিতে, পিক্সেলগুলি IE এর পুরানো সংস্করণগুলিতে জুম করা যায়নি। +/- এখন সমস্ত বর্তমান ব্রাউজারগুলিতে একটি পুরো পৃষ্ঠা জুম করে, সুতরাং এটি কোনও সমস্যা নয়। এছাড়াও এই প্রশ্নটি পিক্সের চেয়ে রিমস সম্পর্কে - এম বনাম পিক্স নয়।
সমৃদ্ধ ব্র্যাডশো

1
তোমরা ছেলেরা আমাকে হাসায়। আপনি কি পিক্সেল ব্যবহার করে +/- ব্যবহার করে আপনার সাইটটি স্কেল করার চেষ্টা করেছেন? জিক্স করা পিক্সেল সম্পর্কে লেখা মৃত ভুল। আপনি চান সবাই আমাকে ভোট দিন। ভোট বাস্তবতা পরিবর্তন করে না।
রবমু

1
সম্ভবত আমরা কিছুটা ভিন্ন জিনিস নিচ্ছি - পার্থক্যটি প্রদর্শনের জন্য আপনি কোনও সাধারণ ডেমো রাখতে পারেন?
ধনী ব্র্যাডশো

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