আমি ডিভ অনুসরণ করছি
<div id="over" style="position:absolute; width:100%; height:100%>
<img src="img.png">
</div>
ইমেজটি কীভাবে সারিবদ্ধ করা যায় যাতে ডিভের মাঝখানে এবং কেন্দ্রে অবস্থিত হয়?
আমি ডিভ অনুসরণ করছি
<div id="over" style="position:absolute; width:100%; height:100%>
<img src="img.png">
</div>
ইমেজটি কীভাবে সারিবদ্ধ করা যায় যাতে ডিভের মাঝখানে এবং কেন্দ্রে অবস্থিত হয়?
উত্তর:
body {
margin: 0;
}
#over img {
margin-left: auto;
margin-right: auto;
display: block;
}
<div id="over" style="position:absolute; width:100%; height:100%">
<img src="http://www.garcard.com/images/garcard_symbol.png">
</div>
display: block;
আমার ক্ষতি ছিল। TnX
display: block
ডিফল্টটি ব্যবহার না করি তবে w3schools.com/cssref/pr_class_display.aspdisplay: inline
অনুসারে । কেন আমাদের ব্লক ব্যবহার করা দরকার? আমি আমার পক্ষে কাজ করেছি, তবে নিশ্চিত নয় কেন ব্লকটি ইম্জি এবং ইনলাইনটি কেন্দ্র করবে।
<div style="display:table-cell; vertical-align:middle; text-align:center">
<img src="img.png">
</div>
এটি ফ্লেক্সবক্স লেআউট ব্যবহার করেও করা যেতে পারে:
স্ট্যাটিক সাইজ
.parent {
display: flex;
height: 300px; /* Or whatever */
background-color: #000;
}
.child {
width: 100px; /* Or whatever */
height: 100px; /* Or whatever */
margin: auto; /* Magic! */
}
<div class="parent">
<img class="child" src="https://i.vimeocdn.com/portrait/58832_300x300"/>
</div>
ডায়নামিক সাইজ
html, body {
width: 100%;
height: 100%;
display: flex;
background-color: #999;
}
* {
margin: 0;
padding: 0;
}
.parent {
margin: auto;
background-color: #000;
display: flex;
height: 80%;
width: 80%;
}
.child {
margin: auto; /* Magic! */
max-width: 100%;
max-height: 100%;
}
<div class="parent">
<img class="child" src="https://i.vimeocdn.com/portrait/58832_300x300"/>
</div>
আমি এই নিবন্ধে উদাহরণটি পেয়েছি , যা কীভাবে লেআউটটি ব্যবহার করবেন তা ব্যাখ্যা করার একটি দুর্দান্ত কাজ করে।
আমার কাছে মনে হচ্ছে যে আপনিও চেয়েছিলেন যে চিত্রটি উল্লম্বভাবে ধারকটির মধ্যে কেন্দ্রীভূত হোক। (আমি সরবরাহ করে এমন কোনও উত্তর দেখিনি)
এইচটিএমএল
<div id="over">
<span class="Centerer"></span>
<img class="Centered" src="http://th07.deviantart.net/fs71/200H/f/2013/236/d/b/bw_avlonas_a5_beach_isles_wallpaper_image_by_lemnosexplorer-d6jh3i7.jpg" />
</div>
সিএসএস
*
{
padding: 0;
margin: 0;
}
#over
{
position:absolute;
width:100%;
height:100%;
text-align: center; /*handles the horizontal centering*/
}
/*handles the vertical centering*/
.Centerer
{
display: inline-block;
height: 100%;
vertical-align: middle;
}
.Centered
{
display: inline-block;
vertical-align: middle;
}
দ্রষ্টব্য: এই সমাধানটি কোনও উপাদানগুলির মধ্যে যে কোনও উপাদান সারিবদ্ধ করার জন্য ভাল। আই 7 এর জন্য, .Centered
ব্লক উপাদানগুলিতে ক্লাস প্রয়োগ করার সময় , আপনাকে inline-block
কাজটি পেতে আরেকটি কৌশল ব্যবহার করতে হবে । (কারণ আইআই 6 / আইআই block ব্লক উপাদানগুলিতে ইনলাইন-ব্লক দিয়ে ভাল খেলতে পারে না)
span
, আপনি সিউডো-এলিমেন্টটি ব্যবহার করতে পারেন :before
: jsfiddle.net/xaliber/cj6zhtp0
#over { position:absolute; width:100%; height:100%;
?
আপনি প্রদর্শন: ফ্লেক্স সিএসএস সম্পত্তি ব্যবহার করে এটি সহজেই করতে পারেন
#over {
height: 100%;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
#over {position:relative; text-align:center;
width:100%; height:100%; background:#CCC;}
#over img{
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
এখানে উপস্থাপিত অন্যান্য সমাধানের সাথে আমার এখনও কিছু সমস্যা ছিল। অবশেষে এটি আমার পক্ষে সবচেয়ে ভাল কাজ করেছে:
<div class="parent">
<img class="child" src="image.png"/>
</div>
CSS3:
.child {
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%); /* Safari and Chrome */
-moz-transform: translate(-50%, -50%); /* Firefox */
-ms-transform: translate(-50%, -50%); /* IE 9 */
-o-transform: translate(-50%, -50%); /* Opera */
// I suppose you may like those too:
// max-width: 80%;
// max-height: 80%;
}
আপনি এই পৃষ্ঠাতে এই পদ্ধতির সম্পর্কে আরও পড়তে পারেন ।
এটি একটি সহজ পদ্ধতির হবে
#over > img{
display: block;
margin:0 auto;
}
দাওক্সের উত্তরটি কাজ করে তবে আমি মনে করি যে আমরা যদি ইনলাইন সিএসএসটি মুছে ফেলি তবে এটি আরও পরিষ্কার হবে।
body {
margin: 0;
}
#over img {
margin-left: auto;
margin-right: auto;
display: block;
}
div.example {
position: absolute;
width: 100%;
height: 100%;
}
<div class="example" id="over">
<img src="http://www.garcard.com/images/garcard_symbol.png">
</div>
সেটিং চিত্র থেকে প্রদর্শন: ইনলাইন-ব্লক যখন উচ্চতর সেট থাকার DIV আছে করার টেক্সট প্রান্তিককরণ: কেন্দ্র খুব কাজ কি করতে হবে
সম্পাদনা: যারা দর্শকদের সাথে খেলছেন তাদের কাছে : ইনলাইন-ব্লক >>> ভুলে যাবেন না যেমন দুটি ডিভের মত
<div>Div1 content</div>NOSPACEHERE<div>Div2 content</div>
তাদের মধ্যে সত্যিই কোনও ফাঁকা স্থান নেই (যেমন এখানে দেখানো হয়েছে)।
এগুলির মধ্যে এগুলি (ইনলাইন ব্লক সহজাত) ফাঁকগুলি এড়াতে কেবল বেসিক। এই মুহূর্তে এই দুটি ফাঁকগুলি দেখা যাচ্ছে যে আমি এখনই লিখছি! :-) তাই .. আশা করি এটি আপনার কারও পক্ষে সহায়তা করবে।
সহজ। 2018. ফ্লেক্সবক্স। ব্রাউজার সমর্থন পরীক্ষা করতে - আমি কি
সর্বনিম্ন সমাধান ব্যবহার করতে পারি :
div#over {
display: flex;
justify-content: center;
align-items: center;
}
আরও প্রশস্ত ব্রাউজার সমর্থন পেতে:
div#over {
display: -webkit-flex;
display: -ms-flex;
display: flex;
justify-content: center;
-ms-align-items: center;
align-items: center;
}
আমি অনেকগুলি পদ্ধতির চেষ্টা করেছি তবে কেবলমাত্র এটিই একটি ধারক ডিভের ভিতরে একাধিক ইনলাইন উপাদানগুলির জন্য কাজ করে। মাঝখানে ডিভের মধ্যে প্রতিটি কিছুর জন্য কোড এখানে।
.divContainer
{
vertical-align: middle;
text-align: center; <!-- If you want horizontal center alignment -->
}
.divContainer > *
{
vertical-align: middle;
}
<div class="divContainer">
<span>Middle Text</span>
<img src="test.png"/>
</div>
নমুনা কোডটি এখানে: https://jsfiddle.net/yogendrasinh/2vq0c68m/
সিএসএস ফাইল
.over {
display : block;
margin : 0px auto;
এই সর্বনিম্ন কোডটি ব্যবহার করে দেখুন:
<div class="outer">
<img src="image.png"/>
</div>
এবং সিএসএস:
.outer{
text-align: center;
}
.outer img{
display: inline-block;
}
ঠিক আছে, আমরা 2016 সালে আছি ... ফ্লেক্সবক্স ব্যবহার করবেন না কেন? এটিও প্রতিক্রিয়াশীল। উপভোগ করুন।
#over{
display:flex;
align-items:center;
justify-content:center;
}
<div id="over">
<img src="http://www.garcard.com/images/garcard_symbol.png">
</div>
অনেক উত্তর ব্যবহারের পরামর্শ দেয় margin:0 auto
তবে এটি তখনই কাজ করে যখন আপনি কেন্দ্রিক তৈরির চেষ্টা করছেন উপাদানটি বাম বা ডানদিকে ভাসছে না, এটি float
CSS বৈশিষ্ট্যটি সেট করা নেই। এইটি করার display
জন্য table-cell
এবং তারপরে বাম এবং ডান থেকে ডানদিকে মার্জিনটি প্রয়োগ করুন যাতে আপনার স্টাইলটি দেখতে ভাল লাগবেstyle="display:table-cell;margin:0 auto;"
এইচটিএমএল:
<div id="over">
<img src="img.png">
</div>
সিএসএস:
#over {
text-align: center;
}
#over img {
vertical-align: middle;
}
অনুভূমিকভাবে কেন্দ্রের জন্য কেবল লিখুন
#over img {
display: block;
margin: 0 auto;
clear:both;
}
অন্য পদ্ধতি:
#over img {
display: inline-block;
text-align: center;
}
উল্লম্বভাবে কেন্দ্রের জন্য কেবল লিখুন:
#over img {
vertical-align: middle;
}
এটি আমার জন্য কৌশলটি করেছে।
<div class="CenterImage">
<asp:Image ID="BrandImage" runat="server" />
</div>
'দ্রষ্টব্য: এক্ষেত্রে' ব্র্যান্ড আইমেজ 'তে কোনও CSS শ্রেণি সংযুক্ত করা হবে না
সিএসএস:
.CenterImage {
position:absolute;
width:100%;
height:100%
}
.CenterImage img {
margin: 0 auto;
display: block;
}
এটি আপনার জন্য কাজ করেছিল যখন আপনাকে চিত্রের প্রান্তিককরণটি কেন্দ্রবিন্দু করতে হয় এবং আপনার পিতামাতাকে ডিভ-এ চিত্রটি পুরো স্ক্রিনটি কভার করে। অর্থাত্ উচ্চতা: 100% এবং প্রস্থ: 100%
#img{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
অবস্থান ব্যবহার করুন। নিম্নলিখিত আমার জন্য কাজ করেছে ...
চিত্রের কেন্দ্রে জুমের সাহায্যে (চিত্রটি ডিভিটি পূরণ করে):
div{
display:block;
overflow:hidden;
width: 70px;
height: 70px;
position: relative;
}
div img{
min-width: 70px;
min-height: 70px;
max-width: 250%;
max-height: 250%;
top: -50%;
left: -50%;
bottom: -50%;
right: -50%;
position: absolute;
}
চিত্রের কেন্দ্রে জুম ছাড়াই (চিত্রটি ডিভিটি পূরণ করে না ):
div{
display:block;
overflow:hidden;
width: 100px;
height: 100px;
position: relative;
}
div img{
width: 70px;
height: 70px;
top: 50%;
left: 50%;
bottom: 50%;
right: 50%;
position: absolute;
}
এর জন্য চিহ্নিত উত্তরটি চিত্রটিকে উল্লম্বভাবে সারিবদ্ধ করবে না। আধুনিক ব্রাউজারগুলির জন্য উপযুক্ত সমাধান হ'ল ফ্লেক্সবক্স। একটি ফ্লেক্স ধারক তার আইটেমগুলি অনুভূমিকভাবে এবং উল্লম্বভাবে সারিবদ্ধ করার জন্য কনফিগার করা যেতে পারে।
<div id="over" style="position:absolute; width:100%; height:100%; display: flex; align-items: center; justify-content: center;">
<img src="img.png">
</div>
আপনি এই সমাধানটি একবার দেখে নিতে পারেন:
একটি বাক্সে অনুভূমিকভাবে এবং উল্লম্বভাবে একটি চিত্র কেন্দ্র করা
<style type="text/css">
.wraptocenter {
display: table-cell;
text-align: center;
vertical-align: middle;
width: ...;
height: ...;
}
.wraptocenter * {
vertical-align: middle;
}
.wraptocenter {
display: block;
}
.wraptocenter span {
display: inline-block;
height: 100%;
width: 1px;
}
</style>
<!--[if lt IE 8]-->
<style>
.wraptocenter span {
display: inline-block;
height: 100%;
}
</style>
<!--[endif]-->
<div class="wraptocenter"><span></span><img src="..." alt="..."></div>
একটি সহজ উপায় ডিভ এবং চিত্র উভয়ের জন্য পৃথক শৈলী তৈরি করা এবং তারপরে সেগুলি স্বাধীনভাবে স্থাপন করা হবে। বলুন আমি যদি আমার চিত্রের অবস্থান 50% এ সেট করতে চাই তবে আমার কাছে এমন কোড থাকবে যা নীচের মত দেখাচ্ছে ....
#over{
position:absolute;
width:100%;
height:100%;
}
#img{
position:absolute;
left:50%;
right:50%;
}
<div id="over">
<img src="img.png" id="img">
</div>
এই কাজ করা উচিত.
টেস্টের জন্য গুরুত্বপূর্ণ: কোড স্নিপেট চালানোর জন্য বাম বোতামটি ক্লিক করুন রুন কোড স্নিপেট , তারপরে ডান লিঙ্কটি পূর্ণ পৃষ্ঠা
#fader{
position:fixed;z-index: 10;
top:0;right:0;bottom:0;left:0;
opacity: 0.8;background: black;
width:100%;height:100%;
text-align: center;
}
.faders{display:inline-block;height:100%;vertical-align:middle;}
.faderi{display:inline-block;vertical-align:middle;}
<div id="fader">
<span class="faders"></span>
<img class="faderi" src="https://i.stack.imgur.com/qHF2K.png" />
</div>