আমার এইচটিএমএল ইনপুট রয়েছে।
ইনপুটটি padding: 5px 10px;
আমি চাই এটি প্যারেন্ট ডিভের প্রস্থের 100% (যা তরল)।
তবে ইনপুটটির width: 100%;
কারণ হিসাবে 100% + 20px
আমি কীভাবে এটি ব্যবহার করতে পারি তা ব্যবহার করে ?
input
এবং সমর্থন করছে
আমার এইচটিএমএল ইনপুট রয়েছে।
ইনপুটটি padding: 5px 10px;
আমি চাই এটি প্যারেন্ট ডিভের প্রস্থের 100% (যা তরল)।
তবে ইনপুটটির width: 100%;
কারণ হিসাবে 100% + 20px
আমি কীভাবে এটি ব্যবহার করতে পারি তা ব্যবহার করে ?
input
এবং সমর্থন করছে
উত্তর:
box-sizing: border-box
এটি ঠিক করার এক দ্রুত এবং সহজ উপায়:
এটি সমস্ত আধুনিক ব্রাউজার এবং আই 8 + এ কাজ করবে।
এখানে একটি ডেমো: http://jsfiddle.net/thirtydot/QkmSk/301/
.content {
width: 100%;
box-sizing: border-box;
}
আধুনিক ব্রাউজারগুলিতে ব্রাউজারের উপসর্গযুক্ত সংস্করণগুলি ( -webkit-box-sizing
ইত্যাদি) প্রয়োজন হয় না।
এই কারণেই আমরা box-sizing
সিএসএসে রয়েছি।
আমি আপনার উদাহরণ সম্পাদনা করেছি এবং এখন এটি সাফারি, ক্রোম, ফায়ারফক্স এবং অপেরাতে কাজ করে। এটি পরীক্ষা করে দেখুন: http://jsfiddle.net/mathias/Bupr3/ আমি যা যা যুক্ত করেছি তা হ'ল:
input {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
দুর্ভাগ্যক্রমে পুরানো ব্রাউজারগুলি যেমন আই 7 এটি সমর্থন করে না। যদি আপনি এমন কোনও সমাধান খুঁজছেন যা পুরানো আইইগুলিতে কাজ করে তবে অন্যান্য উত্তরগুলি দেখুন।
শতাংশে প্যাডিং ব্যবহার করুন এবং প্রস্থ থেকে সরান:
প্যাডিং: 5%; প্রস্থ: 90%;
আপনি ব্যবহার না করেই এটা করতে পারেন box-sizing
এবং স্পষ্ট মত সমাধান width~=99%
।
padding
এবং রাখুনborder
margin
= border-width
+ যোগ করুনhorizontal padding
padding
সমান ইনপুটের মোড়কে আড়াআড়ি যুক্ত করুনmargin
এইচটিএমএল মার্কআপ:
<div class="input_wrap">
<input type="text" />
</div>
সিএসএস:
div {
padding: 6px 10px; /* equal to negative input's margin for mimic normal `div` box-sizing */
}
input {
width: 100%; /* force to expand to container's width */
padding: 5px 10px;
border: none;
margin: 0 -10px; /* negative margin = border-width + horizontal padding */
}
সিএসএস ক্যালক ব্যবহার করুন ()
দুর্দান্ত সরল এবং দুর্দান্ত aw
input {
width: -moz-calc(100% - 15px);
width: -webkit-calc(100% - 15px);
width: calc(100% - 15px);
}
এখানে যেমন দেখা গেছে: ডিভ প্রস্থ 100%
বিয়োগের নির্দিষ্ট পরিমাণ পিক্সেল দ্বারা ওয়েবভিটালি ( https://stackoverflow.com/users/713523/webvitaly )
মূল উত্স: http://web-profile.com.ua/css/dev/css -width-100prc-বিয়োগ-100px /
এটিকে এখানে অনুলিপি করেছেন, কারণ আমি এটি অন্যান্য থ্রেডে প্রায় মিস করেছি।
ধরে নিচ্ছি যে আমি একটি পাত্রে 15px প্যাডিং সহ করছি, এটি আমি সর্বদা অভ্যন্তরের অংশের জন্য ব্যবহার করি:
width:auto;
right:15px;
left:15px;
এটি অভ্যন্তরের অংশটি প্রস্থে প্রস্থে প্রসারিত করবে যা উভয় দিকের 15px কম হওয়া উচিত।
width:auto
কোনও input
ক্ষেত্রে প্রয়োগের সম্পূর্ণ উদাহরণ পোস্ট করতে পারেন ?
আপনি কিছু অবস্থানের কৌশল চেষ্টা করতে পারেন। আপনি ইনপুটটি একটি ডিভ position: relative
এবং একটি নির্দিষ্ট উচ্চতার সাথে রাখতে পারেন, তারপরে position: absolute; left: 0; right: 0;
ইনপুটটিতে এবং আপনার পছন্দ মতো কোনও প্যাডিং রাখতে পারেন।
<input>
ফায়ারফক্সের উপাদানগুলির সাথে কাজ করছে না (আইডিকে আইডিকে)। <div>
যদিও এটি এস এর সাথে কাজ করে । এবং না, display: block
এটি <input>
এখানে কোডন্ট্রাক.কমের প্রস্তাবনা রয়েছে , যার সমাধানের ভাল উদাহরণ রয়েছে:
ডিভের প্রস্থটি 100% এ সেট করার পরিবর্তে এটি অটোতে সেট করুন এবং নিশ্চিত হয়ে নিন যে এটি
<div>
প্রদর্শিত হবে: ব্লক (এর জন্য ডিফল্ট<div>
)।
ইনপুট বাক্সের প্যাডিংটিকে একটি মোড়কের উপাদানটিতে সরান।
<style>
div.outer{ background: red; padding: 10px; }
div.inner { border: 1px solid #888; padding: 5px 10px; background: white; }
input { width: 100%; border: none }
</style>
<div class="outer">
<div class="inner">
<input/>
</div>
</div>
এখানে উদাহরণ দেখুন: http://jsfiddle.net/L7wYD/1/
প্রস্থের মধ্যে পার্থক্যটি কেবল বুঝুন: অটো; এবং প্রস্থ: 100%; প্রস্থ: স্বয়ংক্রিয়; প্যাডিং সহ মোড়ক ডিভিওয়ের সাথে সঠিকভাবে প্রদত্ত মান যথাযথভাবে প্রস্থের গণনা করবে A প্রস্থ 100% প্রস্থকে প্রসারিত করে এবং প্যাডিং যুক্ত করে।
এটি একটি পাত্রে মোড়ানো সম্পর্কে কি? ধারক জোরে শৈলীর মতো থাকে:
{
width:100%;
border: 10px solid transparent;
}
এটা চেষ্টা কর:
width: 100%;
box-sizing: border-box;
আমার জন্য, ব্যবহার করে margin:15px;padding:10px 0 15px 23px;width:100%
, ফলাফলটি ছিল:
আমার জন্য সমাধানটি width:auto
পরিবর্তে ব্যবহার করা হয়েছিল width:100%
। আমার নতুন কোডটি ছিল:
margin:15px;padding:10px 0 15px 23px;width:auto
। তারপরে উপাদানটি সঠিকভাবে সারিবদ্ধ:
আমারও একই প্রশ্ন ছিল. এটি ঠিক মত এটি ঠিক করুন:
width: 100%;
box-sizing: border-box;