আমি কীভাবে সিএসএস ব্যবহার করে কোনও উপাদানটির অফসেট থেকে মুক্তি পাব?


88

আইই 8 বিকাশকারী সরঞ্জামগুলি এটি আমাকে দেখায়:

অফসেট কোথা থেকে আসে?

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

এটি প্রস্তুতকারী কোডগুলি এখানে রয়েছে:

 <div id="wahoo" style="border: solid 1px black; height:100px;">

    <asp:TextBox ID="inputBox" runat="server" />

    <input id="btnDropDown" type="button" style="width:26px; height:26px; background-position: center center; border-left-color: buttonface; background-image: url(Images/WebResource.gif); border-bottom-color: buttonface; border-top-color: buttonface; background-repeat: no-repeat; border-right-color: buttonface;"  tabindex="99" />

    <div id="ListboxWrapper" style="display:none; position:absolute; onfocusout="this.style.display = 'none'"">
       <asp:ListBox ID="lstBoxCompany" runat="server" AutoPostBack="True" OnSelectedIndexChanged="lstBoxCompany_SelectedIndexChanged" style="z-index: 100;" Width="300px" />               
    </div>

</div>

অফসেট সহ উপাদানটি হ'ল inputBox


আপনার উপাদান অবস্থিত? পরীক্ষা করুন leftএবং topবৈশিষ্ট্য।
jessegavin

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

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

আমি কোডটি ইনলাইন সিএসএসের সাথে সংযুক্ত করে দিয়েছি যাতে আমরা কী চলছে তা দেখতে পাই
এম.ডমন্ডসন

কোনও ওয়েব-পৃষ্ঠার উদাহরণ রয়েছে যা আমরা এর দিকে নজর দিতে পারি - উদাহরণস্বরূপ যাতে আমরা এটিতে ফায়ারব্যাগটি নির্দেশ করতে পারি এবং আরও বৃহত্তর পৃষ্ঠাটি বুঝতে পারি। উদাহরণস্বরূপ আপনার ইনপুট নিয়ন্ত্রণটি উত্তরাধিকারসূত্রে মার্জিন হয় বা অন্য সিএসএস সংজ্ঞা থেকে প্যাডিং হয়?
ক্রিস সি

উত্তর:


43

সেই অফসেটটি মূলত এক্স, ওয়াই অবস্থান যা ব্রাউজার তার অবস্থান সিএসএস অ্যাট্রিবিউটের ভিত্তিতে উপাদানটির জন্য গণনা করেছে। সুতরাং আপনি যদি <br>এটির আগে বা অন্য কোনও উপাদান রেখে দেন তবে এটি অফসেটটি পরিবর্তন করবে। উদাহরণস্বরূপ, আপনি এটিকে 0 দ্বারা সেট করতে পারেন:

#inputBox{position:absolute;top:0px;left:0px;}

বা

#inputBox{position:relative;top:-12px;left:-2px;}

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

আপনার সমস্যা ব্রাউজার কি বেমানান?


4
উল্লম্ব-সারিবদ্ধ সম্পর্কে স্টোনির মন্তব্য দেখুন Please অ্যালাইনমেন্ট সেটিং ঠিক করা উপাদানটিকে ব্রাউজারের অবস্থানের অবস্থানকে জোর করে ওভাররাইড করা ভাল বলে মনে হয়।
জেরেমি কন্ডিট

33

আমার জন্য, এটি vertical-align: baselineবনাম vertical-align: topযা শীর্ষ অফসেটের কারণ হয়ে উঠছিল।

সেট করার চেষ্টা করুন vertical-align: top


4
এটি পরম অবস্থান ব্যবহারের চেয়ে ভাল
ব্যবহারকারীর

4
আপনার উত্তরটি দুর্দান্ত, সত্য যে আমি যখন 4 টি ইনলাইন-ব্লক ডিভগুলি সন্নিবেশ করতে অস্বীকার করি তখন bullষুধটি হয় the আপনি ঘন্টা ঘন্টা কাজ শেষ। ধন্যবাদ.
কোরি ওগবার্ন

<button>একটি <li>উপাদান একটি এম্বেড সঙ্গে কাজ ।
আমেসিহেল

9

দ্রুত ঠিক করা:

position: relative;
top: -12px;
left: -2px;

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

পরিভাষা হিসাবে, left, right, topএবং bottomCSS এর দ্বারা অফসেট বৈশিষ্ট্য। এগুলিকে নির্দিষ্ট স্থানে ( অবস্থানের সাথে ব্যবহার করার সময় absoluteবা fixedঅবস্থানের ক্ষেত্রে) অবস্থান নির্ধারণের জন্য, বা তাদের ডিফল্ট অবস্থানের সাথে সম্পর্কিত করতে ( relativeঅবস্থানের সাথে ব্যবহার করার সময়) ব্যবহার করা হয় । অন্যদিকে মার্জিনগুলি বাক্সগুলির মধ্যে ফাঁকগুলি নির্দিষ্ট করে এবং সেগুলি কখনও কখনও ভেঙে যায়, তাই সেগুলি নির্ভরযোগ্যভাবে অফসেট হিসাবে ব্যবহার করা যায় না।

তবে মনে রাখবেন যে আপনার ক্ষেত্রে অফসেটটি সিএসএস অফসেট থেকে গণনা করা যাবে না (পুরোপুরি)।


এটি কেবল শ্বেত স্থানটিকে উপাদানটির অন্য দিকে নিয়ে যায়।
কোয়ান্টিন

@ ডেভিড হোয়াইট স্পেস? এবং কেন লক্ষ্যবস্তু বাক্স ছাড়া অন্য কিছু সরানো হবে?
অ্যালিন পুরকারু

হোয়াইটস্পেস এমন একটি স্থান যা এর মধ্যে কিছুই নেই। লক্ষ্যবস্তু বাক্স ব্যতীত অন্যান্য জিনিস সরানো হবে না, এটিই মূল বিষয়। আপনার যদি নীচে 1px কিছু থাকে এবং আপনি 12px উপরে চলে যান তবে তা 1px এর পরিবর্তে 13px নীচে।
কোয়ান্টিন

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

3

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


2

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


4
আমাদের কারও কারও কাছে আই 7 তে ব্যবহারকারী রয়েছে।
15ee8f99-57ff-4f92-890c-b56153

2

উপাদানটির শীর্ষস্থানীয়: -12px বা এটির অবস্থানটি সমস্যার সমাধান করে না তবে কেবল এটির মুখোশ ks

আমার একই সমস্যা ছিল - আপনার যদি একটি মোড়ানো উপাদান মিশ্রিত হয় কিনা তা পরীক্ষা করুন: অ-ভাসমান উপাদানগুলির সাথে ভাসমান উপাদানগুলি - আমার অ-ভাসমান উপাদানটি ভাসমানটির কাছে এই অদ্ভুত অফসেটকে ঘটিয়েছে


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

1

মার্জিন নির্ধারণ করুন এবং উপাদানটির জন্য প্যাডিং সমস্যার সম্মুখীন হচ্ছে:

#element_id {margin: 0; padding: 0}  

এবং দেখুন সমস্যা আছে কিনা। IE আরও অবাঞ্ছিত উত্তরাধিকারের সাথে পৃষ্ঠাটি রেন্ডার করে। আপনার এটি করা থেকে বিরত থাকা উচিত।


1

এই অদ্ভুত বলে মনে হয়, কিন্তু আপনি সেটিং চেষ্টা করতে পারেন vertical-align: topমধ্যে CSSইনপুট জন্য। এটি অন্তত IE8 এ এটি স্থির করে।


1

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

সুতরাং আপনি যদি নিজের সাইটে এই সমস্যাটি সমাধান করার চেষ্টা করছেন, এটি আপনার সিএসএস ফাইলে প্রবেশ করার চেষ্টা করুন:

form {
  margin: 0;
}

আমার একই সমস্যা ছিল এবং ফর্ম মার্জিন পরিবর্তন করাও আমার পক্ষে কাজ করেছিল।
ডেভিড ডারম্যান

0

এই 'ডিফল্ট' থেকে মুক্তি পেতে আপনি একটি রিসেট সিএসএস প্রয়োগ করতে পারেন। এখানে একটি রিসেট সিএসএসের একটি উদাহরণ http://meyerweb.com/eric/tools/css/reset/ । আপনার নিজস্ব শৈলীর আগে পুনরায় সেট করা শৈলীগুলি প্রয়োগ করুন।


0

আমারও একই সমস্যা ছিল। অফসেট আপডেটপ্যানেল রিফ্রেশের পরে উপস্থিত হয়েছিল। সমাধানটি হ'ল আপডেটপ্যানেলের আগে একটি ফাঁকা ট্যাগ যুক্ত করা:

<div></div>

...


4
আপডেটপ্যানেল একটি এএসপি.নেট জিনিস, তাই না? কারণ এটি কোনও এএসপি.নেট প্রশ্ন বলে মনে হচ্ছে না।
জো মাবেল

আসলে আপনি যদি প্রশ্নের স্নিপেটটি প্রশ্নের মধ্যে দেখতে পান তবে আপনি লক্ষ্য করবেন যে এটি একটি এএসপি.নেট প্রশ্ন।
মিটকব

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


0

আমার ক্ষেত্রে অফসেটটি একটি লি এর মধ্যে গ্রিড লেআউট সহ একটি কাস্টম উপাদানটিতে যুক্ত করা হয়েছিল যখন উল একটি উল্লম্ব ফ্লেক্সবক্স ছিল।

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

বেশ সহজ সমাধান হ'ল লাইকে ব্লক উপাদান হিসাবে সংজ্ঞায়িত করা

li {
 display: block;
}

আর অফসেট চলে গেল

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