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

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 مطالب بیشتر:
کار با تگ فرم (form) در HTML
تگ های اصلی و کلیدی HTML
کار با تگ های ایجاد کننده لیست در HTML
کاربرد تگ font و ویژگی های فونت در HTML
آشنایی با مفهوم Semantic در HTML
دیدگاه
more ۵۸ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
پیام
۰۰:۲۵ ۱۳۹۳/۰۶/۰۴
سلام خسته نباشین.
من با html کار میکنم و وقتی که عکسی رو داخل صفحه سایت درج میکنم ، تو مرورگرهای مختلف نمایش داده نمیشه و فقط داخل IE عکس ها رو نمایش میده . ممکنه شما مشخصه ای رو مطرح کنید تا عکس هایی که درج میکنم رو همه مرورگرها پشتیبانی کنن؟
در صورتی که تصویر به درستی آپلود و آدرس دهی شده باشد، تگ img در تمام مروگرها پشتیبانی می شود و مشکلی وجود نخواهد داشت.
مهدی
۰۰:۱۴ ۱۳۹۳/۰۵/۰۸
ممنون دوستان عزیز خیلی به من کمک کرد خیلی خیلی ممنون به خصوص تگ ها مرسی
bahar
۱۴:۵۴ ۱۳۹۳/۰۴/۲۱
ازتون خیییییییییییییییییییییلییی ممنونم
amir
۱۹:۴۰ ۱۳۹۳/۰۴/۲۰
من مي خوام مختصات استان تهران رو توي
<area>
بنويسم. براي پيدا كردن مختصات اون چي كار كنم؟
(مختصات اونا كدوم عددها هستند؟) البته اگه امكان داشت، ميشه همش رو بگين.
سوالتان مبهم است! خاصیت area آنقدر پیچیده نیست که بتوانید مختصات نقشه را در آن تعریف کنید، صرفا نقاط قابل کلیک در یک تصویر را می توان تعریف کرد.
امير
۱۵:۳۰ ۱۳۹۳/۰۴/۲۰
من نمي تونم كاربرد كامنت رو توي html درك كنم. ميشه بيشتر در موردش توضيح بديد، تا چه حد مي تونه به ما كمك كنه. و اگه از اون استفاده نكنيم، به مشكل بر مي خوريم؟
کامنت مبحث ساده ای است و هیچ تاثیری در پردازش صفحه ندارد، صرفا یادداشت هایی است که سازنده صفحه با مقاصد مختلف (یادآوری، تذکر کپی رایت و...) می تواند در سورس آن درج کند، استفاده یا عدم استفاده از کامنت اختیاری است و معمولا به تعداد محدود برای موارد گفته شده در سورس درج می شود (سورس چند سایت را بررسی کنید تا دقیقا متوجه شوید).
amir
۲۰:۵۲ ۱۳۹۳/۰۴/۱۸
از راهنمايي تون بسيار متشكرم. اما يادگيري پي اچ پي هم مثل سي اس اس زمان مي بره تا مسلط بشيم.
معمولا به صرف زمانی بیش از زمان مورد نیاز برای CSS نیاز است!
amir
۱۱:۲۰ ۱۳۹۳/۰۴/۱۸
شما در توضيحات اوليه طراحي سايت نوشته بودين كه براي
طراحي وب بايد به زبان هاي اچ تي ام ال و سي اس اس مسلط باشيم. آيا بايد به php و javascript هم مسلط باشيم. منو ببخشيد. من خيلي دقيق در اين موردها نمي دونم كه ازتون خيلي سؤال مي كنم. چون كه من تازه مي خوام به به هفتم برم.
این بستگی به هدفتان دارد، اگر به طور مثال می خواهید یک طراح قالب وبلاگ باشید، نیازی به فراگیری PHP نیست و آشنایی نسبی با جاوا اسکریپت نیز کفایت می کند، اما اگر می خواهید به فرض یک برنامه نویس برنامه های تحت وب باشید، یا یک سایت حرفه ای داشته باشید، ناگزیر باید یک زبان سمت سرور (معمولا PHP) را یاد بگیرید، سطح یادگیری نیز بسته به توفع و نیاز شما متغیر است، به طور مثال برای کسی که با برنامه وردپرس سایت می سازد، آشنایی مقدماتی با PHP کافی خواهد بود، اما برای کسی که خودش برنامه سیستم محتوا می سازد، PHP و جاوا اسکریپت باید در حد فوق حرفه ای آموزش داده شود!
amir
۱۹:۰۱ ۱۳۹۳/۰۴/۱۷
به نظر من نوشتن با زبان فارسي در نوتپد پلاس پلاس با زبان اچ تي ام ال خيلي سخته. آيا تو سي اس اس راه كاري براي اين مشكل هست؟
ویرایشگر ++Notepad کاربردهای خاص خود را دارد که می تواند در موارد ضروری به کار بیاید، برای کدنویسی حرفه ای و راحت تر از برنامه Adobe Dreamweaver استفاده کنید.
amir
۱۳:۰۵ ۱۳۹۳/۰۴/۱۷
آيا بايد علاوه بر html و css بايد php و ... ياد بگيريم؟
لطفا سوالتان را با جزئیات بیشتر مطرح کنید، برای چه هدفی؟!
ahmad
۱۶:۰۲ ۱۳۹۳/۰۲/۲۹
ممنون انجامش دادم فقط یه سوال دیگه عکس که آپلود میشه صفحه عوض میشه و میره به ادرسی که در action داده شده ایا میشه کاری کرد عکس آپلود شه ولی صفحه همون قبلی باقی بمونه
در قسمت action آدرس همان صفحه را قرار دهید!
ahmad
۱۸:۴۰ ۱۳۹۳/۰۲/۲۸
من فقط اون input رو میخوام که باز میشه و میشه ادرس عکس رو داد php رو تا حدودی بلدم
از multipart/form-data و input با نوع file استفاده کنید، مثال:
<form enctype="multipart/form-data" method="post" action="#">
<input type="file" name="file">
</form>
ahmad
۱۹:۱۸ ۱۳۹۳/۰۲/۲۷
خسته نباشید من میخوام کاربر توی سایتم عکس آپلود کنه چطور باید اون صفحه رو نمایش بدیم که کاربر مسیر عکس رو توی کامپیوتر خودش آدرس میده بعد open میکنه
برای ساختن فرم آپلود عکس ضمن اینکه باید با تگ input و form در HTML آشنا باشید، تسلط بر یک زبان سمت سرور (مانند PHP) نیز اجتناب ناپذیر است، چون پس از آپلود فایل به سرور باید با PHP آن را مدیریت کنید.
ابوالفضل
۰۲:۱۲ ۱۳۹۲/۱۱/۲۵
سلام در کد نویسی در صورتی که تصاویر در هاست خودمون باشه به کدام صورت زیر آدرس تصاویر را قرار دهیم بهتر است :
<img src="../image/example-image.jpg" />
OR
<img src="http://mysite.com/image/example-image.jpg" />
لطفا مزایا و معایبش رو بگید همین طور در رابطه با شیوه آدرس دهی فایل های css و js و لینک های داخلی صفحه هم توضیحی بدین
بی نهایت ازتون ممنونم واقعا من نیمی از دانشی که در زمینه طراحی و برنامه نویسی تحت وب آموختم از شما و سایت بسیار خوبتون بوده
به تجربه حالت آدرس های مطلق (کامل) بهتر است، حالت دایرکتوری زمانی کاربرد دارد که آدرس های شما متغیر باشند، به فرض فایل ها به صورت آفلاین مشاهده شوند، اما حالت آدرس کامل برای وب بهتر است، برای نمونه در هنگام URL Rewrite کامل بودن آدرس ها تعریف دستورات را ساده تر می کند، یا در هنگام خطایابی و بررسی سورس کدها، کامل بودن آدرس ها باعث سردرگمی کمتر می شود.
۰۱:۲۷ ۱۳۹۲/۱۱/۰۶
سلام
من میخوام به جای بله و خیر، علامت های تیک سبز یا ضربدر قرمز بذارم. کد خاصی داره یا باید عکسشون رو بذارم. و از کجا عکس رو دانلود کنم.؟؟؟؟
ممنون. 
برای اینگونه موارد باید با CSS و خاصیت های مربوط به background آشنا باشید، عکس را از سایت های گرافیکی دانلود کنید!
رويا
۱۲:۴۴ ۱۳۹۲/۱۰/۰۷
سلام خسته نباشيد من دانشجوي كارشناسي نرم افزار هستم درس طراحي وب بايد وب سايت بسازم همه چيز رو ميدونم به غير از منو ساختن من با برنامه Dhtml منو ساختم و در صفحه homepage قرار دادم فقط براي قراردادن در صفحات ديگر وبم بايد چيكار كنم؟ آيا كد ايجاد شده رو در يكي يكي صفحات insert كنم يا از masterpage استفاده كنم؟ و سوال ديگرم براي لينك دادن به صفحات ديگم از همين منو بايد از تگ a استفاده كرد ؟ يا در خود برنامه dhtml لينك كنم؟ لطفا راهنماييم كنيد با تشكر
به نظر نیاز به مرور بیشتر مباحث مقدماتی دارید! منو برای نمایش صحیح نیاز به ارجاع صحیح به فایل های (JS, CSS ,تصاویر و...) دارد، مهم نیست در چه صفحه ای کدها درج می شوند، فقط باید آدرس به دایرکتوری فایل های منو صحیح تنظیم شود، لذا می توانید در همه صفحات از یک کد مشابه استفاده کنید، به شرطی که دایرکتوری آنها نیز یکی باشد، در غیر این صورت باید آدرس فایل ها را در سورس هر صفحه تنظیم کنید، در مورد سوال دوم نیز اگر از برنامه این کار را انجام دهید ساده تر خواهد بود، هر چند نتیجه نهیاتا به صورت کد تولید می شود و لذا به صورت دستی نیز قابل تنظیم است.
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
6 × 4
20 × 20
=