پنجشنبه ۳۱ اردیبهشت ۱۴۰۵

Thursday, May 21, 2026 GMT +3:30

کاربرد تگ img و نمایش تصاویر در HTML

html-img-tag

علاوه بر متن ساده، تصاویر از جمله محتوای پرکاربرد قابل نمایش در صفحات وب هستند و HTML بدین منظور تگ img را درنظر گرفته است، تگ نمایش تصاویر یا img امکان نمایش تصویر در صفحات وب (سایت ها، وبلاگ ها و...) را میسر می کند و می تواند ویژگی های دیگری از جمله alt، title، map، area، border و... داشته باشد که قابلیت های بیشتری در ظاهر، نحوه پردازش و کنترل رفتارهای مبتنی بر رویداد مانند تعیین محل کلیک کاربر در اختیارمان قرار می دهند، استفاده صحیح از تگ img علاوه بر اینکه به لحاظ استاندارد کدنویسی دارای اهمیت است در دانش سئو (SEO یا بهینه سازی صفحات وب برای موتورهای جستجو) فاکتور موثری محسوب می شود، در ادامه آموزش های مقدماتی HTML این مطلب را به نحوه کاربرد تگ img و نمایش تصاویر در صفحات وب اختصاص داده ایم.

تگ img در HTML


همان طور که گفتیم از تگ img برای نمایش تصویر در صفحات وب استفاده می شود، این تگ باید به همراه ویژگی src درج شود و عبارت src در واقع مخفف source یا مسیر (path) منبع تصویر است که در اینجا آدرس کامل تصویر یا آدرس آن به صورت دایرکتوری مد نظر است، مثال زیر نحوه نمایش یک تصویر ساده را در وب نشان می دهد:
<img src="photo.jpg">
با توجه به نمونه کد بالا باید فایل فرضی photo.jpg در کنار فایل HTML در یک دایرکتوری موجود باشند.
نکته: تگ img به صورت تکی (Singleton) است و نیازی به بستن آن با تگ img دیگری نیست.

ویژگی alt در تگ img


برای اینکه مرورگر به نحو درستی تصاویر را پردازش کرده و نمایش دهد بهتر است در کنار تگ img از خاصیت های جانبی آن استفاده کنیم، اولین خاصیت ویژگی alt یا متن جایگزین تصویر است، alt در واقع متنی است که اگر تصویر به هر دلیل بارگذاری نشود جایگزین قاب خالی محل درج تصویر خواهد شد و به نوعی راهنمای کاربران است تا حداقل از محتوای تصویر مطلع شوند.
<img src="photo.jpg" alt="My Photo">

ویژگی title در تگ img


علاوه بر ویژگی alt که متن جایگزین تصویر است، از ویژگی title می توانیم برای هنگامی که کاربر ماوس را روی تصویر می برد جهت نمایش پیام به صورت بالن (Tooltip) استفاده کنیم، مقدار این ویژگی متن برای توضیح بیشتر در مورد تصویر است.
<img src="photo.jpg" alt="My Photo" title="نمایش تصویر در HTML">
هنگامی که کاربر نشانه گر ماوس را روی تصویر فرضی photo.jpg ببرد متن "نمایش تصویر در HTML" به صورت بالن ظاهر خواهد شد.

ویژگی width و height در تگ img


برای اینکه ارتفاع و عرض تصویر را در صفحات وب تعریف کنیم از دو ویژگی width و height در کنار سایر ویژگی های تگ img استفاده می کنیم، انجام این کار مخصوصا از نظر کسب رتبه بهتر در سئو و موتورهای جستجو اهمیت زیادی دارد.
<img src="photo.jpg" alt="My Photo" title="نمایش تصویر در HTML" width="200" height="100">
در ویژگی width و height مقادیر به صورت پیکسلی در نظر گرفته می شوند.
نکته: با توجه به اینکه امروزه کاربران از طیف وسیعی از دستگاه ها (موبایل، تبلت، لپ تاپ و...) برای پیمایش صفحات وب استفاده می کنند که ممکن است اندازه صفحه نمایش کوچکتری نسبت به مانیتورهای متداول داشته باشند، معمولا از استایل CSS برای ایجاد حالت تصاویر واکنش گرا (Responsive) استفاده می شود:
<style>
img {
    width: 100%;
}
</style>
در این خصوص در آموزش های مقدماتی CSS مفصلا صحبت خواهیم کرد.

ویژگی border در تگ img


از ویژگی border مخصوصا در مواقعی که به تصویر خود لینک می دهیم برای حذف حاشیه ها استفاده می شود، در برخی مرورگرها وقتی یک تصویر به صورت لینک شده (با تگ a) باشد در حالت پیش فرض نوار معمولا آب رنگی به عنوان حاشیه تصویر در نظر گرفته می شود، برای حذف این حالت می توانیم مقدار صفر را برای ویژگی border در نظر بگیریم، به طور مثال:
<img src="photo.jpg" alt="My Photo" title="نمایش تصویر در HTML" width="200" height="100" border="0">
نکته: در نسخه 5 HTML این ویژگی منسوخ شده و نباید دیگر استفاده شود، به جای ویژگی border می توانیم از معادل CSS آن استفاده کنیم:
<style>
img {
    border: 0;
}
</style>
مقادیر در این ویژگی عمدتا به صورت پیکسلی در نظر گرفته می شود.
کاربرد ویژگی border صرفا برای حذف خطوط حاشیه ای نیست، در صورت نیاز برای ترسیم این خطوط نیز می توانیم از خاصیت border در CSS استفاده کنیم:
<style>
img {
    border: 1px solid #E5E5E5;
    padding: 4px;
}
</style>
با در نظر گرفتن مقدار برای خاصیت padding خط ترسیم شده از لبه های تصویر به میزان 4 پیکسل فاصله می گیرد که جلوه ظاهری بهتری ایجاد خواهد کرد.

ویژگی usemap در تگ img


ویژگی هایی که پیشتر گفتیم معمولا برای اغلب تصاویر در صفحات وب کفایت می کنند، اما برای ایجاد قابلیت های تعاملی بیشتر در صورت نیاز می توانیم از خاصیت usemap و تگ های map و area برای تعریف نقاط قابل کلیک در تصویر استفاده کنیم، گاهی نیاز است که بیش از یک لینک را در تصویر قرار دهیم یا بخش خاصی از آن را قابل کلیک شدن کنیم، این دسته از قابلیت ها با خاصیت usemap در تگ img بر روی تصاویر قابل اعمال هستند، به طور مثال:
<img src="photo.jpg" alt="My Photo" title="نمایش تصویر در HTML" width="200" height="100" border="0" usemap="#map-id">
<map name="img-map" id="map-id">
<area shape="rect" coords="100,120,250,170" alt="محدوده مستطیل مربع" href="image-page-1.html">
<area shape="poly" coords="30,180,150,155,180,230" alt="محدوده چند ضلعی" href="image-page-2.html">
<area shape="circle" coords="50,60,20" alt="محدوده دایره ای" href="image-page-3.html">
</map>
نکته مهم در این حالت استفاده درست از شکل اشیاء و نحوه مقداردهی محدوده ای از تصویر است که می خواهیم قابل کلیک شدن باشد، سه مقدار circle ،poly و rect برای قسمت shape در area کاربرد دارند:
- rect به معنی rectangle یا مربع مستطیل (چهار ضلعی) است.
- poly یک شیء چند ضلعی است.
- circle برای ترسیم محدوده قابل کلیک شدن به شکل دایره کاربرد دارد.
نکته 1: همان طور که در نمونه کد مشخص است مقادیر ویژگی usemap آی دی در نظر گرفته شده برای تگ map است.
نکته 2: برای مشاهده پیش نمایش آنلاین خاصیت usemap و تگ های map و area لطفا به انتهای این آموزش مراجعه کنید.

نحوه تنظیم مقادیر area در تگ map


برای اینکه نقاط قابل کلیک شدن تصاویر را به درستی تعریف کنیم باید با نحوه مقداردهی صحیح برای شکل های متفاوت در تگ area آشنا باشیم:
- برای تعیین محدوده اشیاء rect یا مربع مستطیل (چهار ضلعی) در تصویر به ترتیب از چهار عدد به عنوان تعیین فاصله اضلاع محدوده، ضلع چپ از سمت چپ (left)، ضلع بالا از سمت بالا (top)، ضلع راست از چپ به راست (right) و ظلع پائین از بالا به پائین (bottom) استفاده می شود، به عبارتی میزان فاصله چهار ضلع از سمت چپ و بالای تصویر و همچنین به سمت راست و پائین تصویر را برای قابل کلیک بودن تعریف می کنیم:
<area shape="rect" coords="0,0,100,100" href="https://webgoo.ir">
- برای محدوده اشیاء چندگانه یا poly باید از 6 مقدار یا بیشتر استفاده کنیم، این مقادیر به صورت x1,y1,x2,y2,x3,y3 نقاطی را به هم متصل و موقعیت محل قابل کلیک شدن را به شکل چند ضلعی ترسیم می کنند:
<area shape="poly" coords="25,100,120,50,260,220" href="https://webgoo.ir">
- نهایتا برای محدوده اشیاء دایره ای شکل یا circle باید سه مقدار فاصله مرکز دایره از سمت چپ، بالا و شعاع (center-x، center-y و radius) را تعیین کنیم:
<area shape="circle" coords="100,100,40" href="https://webgoo.ir">
نکته: برای مشاهده پیش نمایش آنلاین خاصیت usemap و تگ های map و area لطفا به انتهای این آموزش مراجعه کنید.
HTML Map Area
برای سهولت کار می توانیم تصویر مورد نظر را در برنامه Paint ویندوز اجرا و از قسمت View گزینه Ruler را انتخاب نمائیم، در این حالت با بردن نشانه گر ماوس روی نقاط مختلف تصویر مختصات پیکسلی در گوشه چپ برنامه نمایش داده می شود.

پیش نمایش آنلاین


برای بررسی تمام ویژگی هایی که در این آموزش مرور کردیم می توانیم از کد و پیش نمایش آنلاین زیر استفاده کنیم:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>وبگو | نمايش تصوير در صفحات وب</title>
<!-- Webgoo.ir -->
<style>
body{
font-family:Tahoma, Geneva, sans-serif;
font-size:12px;
direction:rtl;
}
img{
border: 0;
}
area{
    border: 1px solid #c00;
}
</style>
</head>
<body>
<img src="example-image.jpg" alt="Example Image" title="نمونه تصوير در HTML" width="338" height="338" usemap="#img-map">
<map name="img-map" id="img-map">
<area shape="rect" coords="26,150,130,185" alt="محدوده مستطيل مربع" href="#1">
<area shape="poly" coords="13,294,67,252,112,317" alt="محدوده چند ضلعي" href="#2">
<area shape="circle" coords="275,245,50" alt="محدوده دايره اي" href="#3">
</map>
<hr>
براي بررسي ويژگي usemap و تگ هاي map و area ماوس را بر روي نقاط مختلف تصوير ببريد.
</body>
</html>
پیش نمایش آنلاین
دسته بندی: آموزش مقدماتی » HTML
related مطالب بیشتر:
فرمت بندی و کار با متن و پاراگراف در HTML
متاتگ ها (Meta Tags) و کاربرد آنها در صفحات وب (HTML)
کار با تگ های ایجاد کننده لیست در HTML
لایه بندی در HTML با تگ div و span
آشنایی با مفهوم Semantic در HTML
دیدگاه
more ۵۸ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
پرتو
۲۰:۴۶ ۱۴۰۰/۰۷/۲۳
سلام خسته نباشید چجوری میشه کد html رو ب کد بلاگفا تبدیل کرد؟ من بلد نیستم میشه راهنمایی بفرمایید هیچ تبدیلگری نیستش؟
تا آنجا که اطلاع داریم خیر، تبدیلگری برای تبدیل کد HTML به قالب بلاگفا وجود ندارد اما با مطالعه راهنمای تگ های اختصاصی این سرویس دهنده که لینک آن در انتهای قسمت ویرایش قالب در پنل مدیریت وبلاگ های بلاگفا وجود دارد به راحتی می توانید امکانات را در جای مناسب قرار دهید:
http://www.blogfa.com/Help/Show.aspx?id=template
آموزش های مرتبطی هم با این موضوع در سایت وجود دارد که می توانید با درج عبارت "طراحی قالب وبلاگ" در قسمت جستجو به آنها دسترسی پیدا کنید.
نکته: بررسی سورس کدهای قالب های طراحی شده برای سرویس بلاگفا نیز می تواند به درک بهتر نحوه استفاده از تگ های اختصاصی کمک کند.
پرتو
۱۲:۳۴ ۱۴۰۰/۰۷/۲۳
ببخشید ولی چرا کامنت من ثبت نمیشه؟ منظور من هدر نیستش ها منظور من ساختن عکس با فتوشاپ نیستش ها منظور من ساختن قالب با فتوشاپ هستش.....
با توجه به مشغله ها گاهی ممکن است سوالات با تاخیر پاسخ داده شوند، متوجه منظورتان شدیم، در یادداشت قبل گفتیم مهمتر از فتوشاپ تسلط بر کدنویسی HTML و CSS است، فتوشاپ یک ابزار کمکی و برای خلق عناصر گرفیکی کاربرد دارد، مرحله اصلی ساخت قالب تسلط بر زبان های وب از جمله HTML و CSS است.
mahdi
۲۰:۴۱ ۱۴۰۰/۰۶/۲۶
سلام استاد عزیز ، استاد عکس رو اگر در تگ img در src قرار ندیم و با جاوا اسکریپت src رو پر کنیم از نظر سئو ایرادی داره ؟
ظاهرا گوگل برخی محتوای ایجاد شده با جاوا اسکریپت از جمله تصاویر را هم استخراج و پردازش می کند اما به تجربه ربات گوگل در این زمینه می تواند به خوبی عمل نکند پس طبق اصول کلی محتوای مهم برای سئو هر چه ساده تر و به صورت مستقیم در خروجی HTML صفحه در دسترس باشد از نظر بهینه سازی برای موتورهای جستجو بهتر است.
کیارش
۱۹:۲۳ ۱۴۰۰/۰۵/۲۰
درود بر شما
من طبق کدهایی که تو قسمت زیر براتون میزارم به قسمت های مختلف عکس لینک دادیم ولی میخواستم روی قسمت های عکس که لینک ندادم وقتی کلیک میشه هیچ اتفاقی نیوفته اما الآن روی اون قسمت ها که کلیک میشه عکس باز میشه ( توی پیش نمایش عکس میره) برای این که عکس خام باز نشه باید چی کار کنم
ممنون میشم کمکم کنید با تشکر
 <p>
<img src="" />
<map name="mymap">
<area shape="rect" coords="" href="" />
<area shape="circle" coords="50,120,50" href="" />
<area shape="circle" coords="250,120,50" href="" />
<area shape="circle" coords="130,50,40" href="" />
<area shape="circle" coords="" href="" />
</map>
</p>
بعضی علائم جا به جا شده
دقیقا متوجه منظورتان نشدیم، اگر می خواهید قسمت هایی لینک نداشته باشند می توانید به جای مقدار URL از کاراکتر # در قسمت href استفاده کنید.
امیرمحمد خلیلی
۱۰:۳۹ ۱۳۹۹/۰۵/۱۵
ببخشید چجوری میتونم یه عکس از کاربر بگیرم و نمایشش بدم؟
برای دریافت و نمایش تصویر از طریق فرم HTML نیاز به سایت مبتنی بر برنامه نویسی سرور (به طور مثال زبان PHP) دارید تا فایل را از سمت مرورگر دریافت و با کدنویسی PHP ذخیره و در نهایت نمایش دهید، در غیر اینصورت به نظر دریافت عکس از طریق ایمیل و سپس آپلود و نمایش آن راه جایگزین است.
احسان
۲۲:۲۸ ۱۳۹۹/۰۲/۱۶
سلام ببخشید من هر کار میکنم تو گوشی اندروید با Html یه عکس رو در سایت خودم بزارم هیچی نمیشه فقط یه علامت عکس میاد که خط خورده تورو خدا بگین چیکار کنم
آدرس URL عکس را (که باید به فرض به شکل http://example.com/image/test.jpg باشد) به صورت مستقیم در نوار آدرس مرورگر درج کنید، اگر فایل به درستی آپلود شده باشد باید در مرورگرتان نمایش داده شود، اگر فایل نمایش داده شد کدنویسی HTML و نحوه استفاده از تگ a را با توجه به توضیحات آموزش بررسی کنید، در صورتی که مراحل کار را درست انجام دهید تصویر به راحتی در صفحات وب نمایش داده می شود، برای اطمینان و تست می توانید کد را در یک فایل مستقل با پسوند html نیز امتحان کنید.
yasamin
۱۶:۵۴ ۱۳۹۷/۱۲/۲۹
آخ خدا خیرتون بده همش از جا title مینوشتم alt بعد میگفتم چرا راهنما نمیاد. دمتون گرم خدا خیرتون بده
laylay
۱۶:۳۸ ۱۳۹۷/۰۹/۲۲
سلام من یک وبسایت توی یک کامپیوتر دیگه طراحی کردم ریختم توی فلش بعد آوردم توی کامپیوتر عکس ها توی سایتم نبود به خاطر ادرس عکس باید چی کار کنم. ممنون میشوم کمکم کنید با تشکر
احتمالا آدرس دهی تصاویر در سورس HTML صفحه به صورت مطلق با درایوهای سیستم عامل تنظیم شده است، برای رفع مشکل در هنگام طراحی سایت تصاویر را داخل یک دایرکتوری (به فرض image) در کنار فایل index.html قرار دهید و آدرس دهی در قسمت src تگ img به صورت نمونه زیر و نسبی باشد:
<img src="image/file.png">
على فرشچى
۰۱:۱۳ ۱۳۹۷/۰۷/۱۶
خيلى كارتون درسته
ایلین
۱۲:۴۶ ۱۳۹۷/۰۵/۰۱
با سلام من به شدت درگیر دو تا مشکل هستم یکی عکسی رو به طور اسلاید درست کنم ولی با زدن دکمه یا اشاره ای به عکسهای بعدی برود. و اینکه چطور سایتی رو ریسپانسیو کنم.
در مورد سوال اول چند نمونه آماده در آدرس زیر در دسترس است:
https://www.w3schools.com/w3css/w3css_slideshow.asp
در مورد طراحی واکنش گرا یا Responsive باید ابتدا با CSS آشنا باشید و در گام بعد از مجموعه تکنیک های مربوط به طراحی قالب واکنش گرا در وب مانند مقداردهی درصدی، استفاده از مدیا کوئری و... استفاده کنید، در خصوص این نوع طراحی در وب جستجو کنید، منابع به اندازه کافی وجود دارد، مثال:
https://www.w3schools.com/html/html_responsive.asp
کاربر
۱۷:۴۷ ۱۳۹۶/۰۵/۲۹
سلام
من می خوام دکمه ای در صفحه html قرار بدم که با کلیک رو اون، عکسم بزرگ و کوچک بشه
توی هیچ سایتی ندیدم. چطوری؟
برای این موارد الزاما باید کدنویسی بلد باشید، معمولا اینگونه ابزارها با جاوا اسکریپت طراحی می شوند، مثال:
https://codepen.io/adamrifai/pen/YXRJmz
۱۸:۴۷ ۱۳۹۵/۰۹/۰۶
خسته نباشید. اگر صفحات سایت هر کدام 10 تا 40 عکس thumbnail داشته باشد که به عکس اصلی لینک داشته باشه، اشکالی نداره که برای همشون از تگ alt استفاده کرد و به طور مثال برای هر کدام نوشت: وبگو 1 - وبگو 2... وبگو 40 ؟ یعنی موتورهای جستجو برای ایندکس گیر نمیدن از نظر تکراری بودن متن؟ از نظر فنی مشکلی نداره؟
به لحاظ سئو عیب محسوب نمی شود اما مزیت چندانی هم ندارد، چون تفاوت عدد در مقابل متن برای موتورهای جستجو اهمیت ناچیزی دارد، لذا حالت بهینه این است که هر alt متناسب با عکسی که به آن ارجاع داده می شود با مقادیر مرتبط و منحصر به فرد متنی تکمیل شود!
۲۰:۲۵ ۱۳۹۵/۰۶/۲۰
سلام
خیلی ممنون
۲۳:۲۹ ۱۳۹۵/۰۴/۱۸
با استفاده از این مطلب عکسای سایتم رو از نظر سئو قوی کردم
مرسییییییییی
۱۳:۳۱ ۱۳۹۵/۰۱/۲۵
مرررررررسییییییی
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
8 × 4
20 × 20
=