পৃষ্ঠাগুলিতে স্থান না নিয়ে কীভাবে উপাদানগুলি আড়াল করবেন?


228

আমি visibility:hiddenনির্দিষ্ট উপাদানগুলিকে আড়াল করতে ব্যবহার করছি তবে তারা লুকিয়ে থাকা অবস্থায় পৃষ্ঠায় স্থান নেয়।

আমি কীভাবে এগুলিকে সম্পূর্ণরূপে দর্শনীয়ভাবে অদৃশ্য করে দিতে পারি, যদিও তারা একেবারেই ডমটিতে নেই (তবে বাস্তবে এগুলি ডিওএম থেকে অপসারণ না করে)?


এই প্রশ্নটি খুব মৃত, তবে আমি একটি মন্তব্য যুক্ত করছি কারণ আমি সম্প্রতি নিজেকে এমন পরিস্থিতিতে পেয়েছি যা অন্যরা অনুভব করতে পারে। আমি একটি উপাদান লুকান এবং প্রয়োজন এটা তার ধরে রাখা আছেoffsetTop , এবং display:noneসেট হবে offsetTopএখানে আমার সমাধান 0. ব্যবহার করতে ছিল visibility: hiddenএকবার আমি আবার দৃশ্যমান উপাদান করা প্রয়োজন তারপর 0 থেকে প্রস্থ ও উচ্চতা সেট, আমি তিনটি গুণাবলীর ব্যবহার মুছে জাভাস্ক্রিপ্ট। কিছুটা হ্যাকি সমাধান, তবে এটি বেশিরভাগ ব্যবহারের ক্ষেত্রে কার্যকর হয়।
রাপ্যাটিক

উত্তর:


301

display:noneলুকানোর জন্য সেটিংস চেষ্টা করুন এবং display:blockপ্রদর্শন করতে সেট করুন।


ডোম ম্যান থেকে উপাদান সরিয়ে ফেলা সম্ভব নয়। এই বিকল্পটি ব্যবহার করেও। প্রশ্নটি পড়ুন
প্রণয় রানা

26
না সব আইটেম হওয়া উচিত display: block, কিছু সেট করতে হবে display: inline(যেমন <span>অথবা <a>অথবা <img>DOM উপাদানে)।
মাউরো

2
@ প্রণয় প্রশ্নটি ডিওএম থেকে তাদের সরিয়ে না দেওয়ার জন্য তাদের আড়াল করার জন্য বলেছে।
মাউরো

6
@ প্রণয়: প্রশ্নটি খুব একটা ভালভাবে প্রকাশ করা হয়নি তবে হুসোম ব্যবহারকারী যে সমস্যার সমাধান করছেন তা সমাধান করছে।
ক্লাদিও রেডি

1
একটি উন্নতি: যার hiddenসাথে ডাকা একটি সিএসএস ক্লাস তৈরি করুন display: none। এটি লুকানোর জন্য কোনও উপাদানকে ক্লাস যুক্ত করুন, এটি শো সরিয়ে দিন। এটি অপসারণ করার সময়, displayসম্পত্তিটি ডিফল্ট ডিফল্টে পুনরুদ্ধার করা হয়।
আলেজান্দ্রো সি দে বাকা

44

পরিবর্তে পছন্দ শৈলী ব্যবহার করুন

<div style="display:none;"></div>

1
দুর্ভাগ্যক্রমে এটি আমার জন্য কাজ করে না - প্রদর্শন ব্যবহার করে: এখনও কোনও ফাঁকা জায়গা ছেড়ে যায় না।
mbuc91

15

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

যদি আপনি সত্যিই কেবল কোনও উপাদানটি গোপন করতে চান এবং কোনও উপাদান না সরিয়ে থাকেন তবে আরও ভাল ব্যবহার করুন:

div {
  position: absolute; 
  left: -999em;
}

এটির মতো এটি স্ক্রিন পাঠকরাও পড়তে পারেন।

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


2
আপনি যদি বেশিরভাগ ক্ষেত্রে চলতে পারেন নিখুঁত কিছু অবস্থানের জন্য চয়ন করেন তবে আপনাকে visibility: hidden;বলুন যে আপনার কাছে অন্যান্য পরম উপাদান রয়েছে তাদের জায়গার জন্য কোনও দ্বন্দ্ব নেই, কেবলমাত্র দ্বন্দ্ব z-index। কেবলমাত্র একটি উপাদান লুকানোর জন্য আমি সাথে যাবvisibility
দেজন.এস

10

পরিবর্তে ব্যবহার না visibility: hidden;করে দেখুন display: none;। প্রথম বিকল্পটি আড়াল হবে তবে তবুও স্থান নেয় এবং দ্বিতীয় বিকল্পটি লুকায় এবং কোনও স্থান নেয় না


6

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

এটি আমাকে ক্রেজিও করেছিল, কারণ প্রদর্শন ব্যবহার করে যে কোনও সিএসএস রূপান্তরকে হত্যা করা হয় kill

একটি সমাধান হ'ল দৃশ্যমানতা ব্যবহার করে এমন শ্রেণিতে এটি যুক্ত করা:

overflow:hidden

এটির জন্য কাজ করা লেআউটটির উপর নির্ভর করে তবে এটি খালি সামগ্রীটি ডিভের মধ্যে থাকা ডিভের মধ্যে রাখা উচিত।


3
আপনি যদি দৃশ্যমানতার সাথে খেলেন: লুকানো এবং দৃশ্যমানতা: দৃশ্যমান এবং আপনার উপাদান অবস্থান নির্ধারণ করুন: স্থির আপনি যে সমস্যা হবে না এটি জাদু মত
জন বালভিন আরিয়াস

6

প্রদর্শন: কোনওটিই সমাধান নয়, এটি সম্পূর্ণরূপে তার স্পেস সহ উপাদানগুলি গোপন করে।

গল্প display:noneএবংvisibility: hidden

visibility:hidden মানে ট্যাগটি দৃশ্যমান নয়, তবে পৃষ্ঠার জন্য স্থান বরাদ্দ করা হয়েছে।

display:noneমানে সম্পূর্ণরূপে তার স্থান সহ উপাদানগুলি লুকিয়ে রাখে। (যদিও আপনি এটি ডিওএমের মাধ্যমে এখনও যোগাযোগ করতে পারেন)


3

display:noneলুকানোর জন্য এবং display:blockপ্রদর্শন করতে সেট করুন।


1
তিনি এটিকে দৃষ্টিভঙ্গি থেকে সরানোর বিষয়ে জিজ্ঞাসা করেছেন, "যেন তারা ডোমে নেই।" এগুলিকে আসল ডিওএম থেকে সরানোর বিষয়ে নয় Not
Systad

প্রশ্নে কেবল তাদের অদৃশ্য হয়ে যাওয়ার জন্য তাদের ডিওএম থেকে সরানো হবে না বলে প্রশ্ন রয়েছে। as though they are not in the DOM at all (but without actually removing them from the DOM)
মাউরো

@ প্রণয়: visibility: hiddenকেবল সামগ্রীর প্রদর্শন থামিয়ে দেয় তবে তবুও উল্লম্ব / অনুভূমিক স্থান ব্যবহার করে, প্রদর্শন করে: উপাদানটির জন্য উল্লম্ব / অনুভূমিক স্থানটি কেউ সরিয়ে দেয় না।
মাউরো

না এটা হয় না। দৃশ্যমানতা: লুকানো; উপাদানটি অদৃশ্য করে তোলে তবে এটি এখনও স্থান নেয়। প্রদর্শন: কিছুই নয়; দস্তাবেজটিকে এমন আচরণ করে যে এটি কখনও ছিল না।
অলি হজসন

1
এই উত্তরটি তখন মুছুন।
বালুসসি

3

টগলিং displayমসৃণ সিএসএস রূপান্তরগুলির অনুমতি দেয় না। পরিবর্তে visibilityএবং উভয় টগল করুন max-height

visibility: hidden;
max-height: 0;

আপনি অ্যানিমেশন সহ কাজ করার সময় এটি দরকারী is কারণ আমরা দৃশ্যমান অঞ্চলের বাইরে উপাদানটির মতো কিছু ব্যবহার করে লুকিয়ে রাখছি transform: translateX(-100%)। আমরা চাই নাdisplay: none
zhuhang.jasper

2

এখানে প্রদর্শনের পরে এগুলি ফিরিয়ে আনার জন্য এখানে আলাদা ধারণা রয়েছে: কিছুই নয়। ডিসপ্লে ব্যবহার করবেন না: ব্লক / ইনলাইন ইত্যাদি পরিবর্তে (জাভাস্ক্রিপ্ট ব্যবহার করা থাকলে) CSS এর সম্পত্তি প্রদর্শন '' (যেমন ফাঁকা) এ সেট করুন


1
$('#abc').css({"display":"none"});

এটি সামগ্রী লুকায় এবং খালি স্থানও ছাড়বে না।


1

আমার জ্ঞানের উপরে এটি 4 উপায়ে সম্ভব

  1. এইচটিএমএল<button style="display:none;"></button>
  2. সিএসএস #buttonId{ display:none; }
  3. jQuery $('#buttonId').prop('display':'none');এবং $("#buttonId").css('opacity', 0);

1

প্রদর্শন: পৃষ্ঠায় সাদা স্থান গ্রহণ এড়াতে সেরা জিনিস কোনওটি নয়


2
অন্যান্য উত্তরগুলির পুনরাবৃত্তি বলে মনে হচ্ছে।
পাং

0

!importantআপনি যদি বিদ্যমান সিএসএস স্টাইলকে ওভাররাইড করতে বাধ্য হন তবে ব্যবহার করুন ।

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