چگونه میتوان یک متن یا بلاک را روی یک تصویر در صفحات وب قرار داد؟ در این مقاله ما به شما آموزش میدهیم که چطور با CSS میشود این کار را انجام داد.
برای انجام این کار ابتدا بهتر است با مفهوم position در CSS آشنا شوید. ویژگی position وضعیت یک عنصر (استاتیک ، نسبی ، ثابت ، مطلق یا چسبنده) را مشخص میکند.
پنج مقدار مختلف برای position وجود دارد:
staticrelativefixedabsolutesticky
سپس عناصر با استفاده از خصوصیات بالا ، پایین ، چپ و راست قرار می گیرند. با این حال، این ویژگی ها کار نمی کنند مگر اینکه ابتدا position مقدار دهی شود. همچنین این خصوصیتها بسته به مقدار position متفاوت عمل میکنند.
برای آموزش، ما دو مقدار relative و absolute را نیاز داریم، که آنها را توضیح میدهیم:
position: relative;
یک عنصر با position: relative; نسبت به موقعیت عادی خود، موقعیت میگیرد.
تنظیم ویژگیهای بالا، راست، پایین و سمت چپ یک عنصر موقعیت-نسبی باعث میشود که آن را نسبت به حالت عادی خود موقعیت دهی کند. سایر مطالب فاصلهای را که عنصر باقی گذاشته است را پر نخواهند کرد.
مانند مثال زیر:
div.relative {
position: relative;
right: 30px;
border: 3px solid #563d7c;
}
position: absolute;
یک عنصر با position: absolute; نسبت به نزدیکترین عنصر والد خود که موقعیت relative دارد موقعیت دهی میشود و اگر نداشته باشد نسبت به body موقعیت دهی میشود.
مانند مثال زیر:
div.relative {
position: relative;
width: 400px;
height: 200px;
border: 3px solid #73AD21;
}
div.absolute {
position: absolute;
top: 80px;
left: 0;
width: 200px;
height: 100px;
border: 3px solid #73AD21;
}
حال با توجه به توضیحات بالا میتوانیم به سادگی متن را روی تصویر قرار دهیم.
دریاچه گهر
دورود - لرستان
چگونه متن را روی تصویر قرار دهیم؟
گام اول) اضافه کردن HTML:
<div class="container">
<img src="nature.jpg" alt="Norway" style="width:100%;">
<div class="text-block">
<h4>دریاچه گهر</h4>
<p>دورود-لرستان</p>
</div>
</div>
گام دوم) اضافه کردن CSS:
/* Container holding the image and the text */
.container {
position: relative;
}
/* Bottom right text */
.text-block {
position: absolute;
bottom: 20px;
left: 20px;
background-color: black;
color: white;
padding-left: 20px;
padding-right: 20px;
}

نوشتن دیدگاه