Html хуудсыг хэлбэржүүлэх. Хичээл 1

Сайтын макетыг фотошоп дээр хийн дараа нь html кодод хэрхэн хөрвүүлэхийг сайтын Photoshop  болон HTML хэл  хэсгүүдээс үзэж танилцсан бол одоо бид сайтын html хуудсыг css ашиглан хэлбэржүүлэхэд суралцах юм. Ингэснээр та өөрөө сайтын загварыг бүрэн гаргаж сурах болно. Хэвийн хүснэгтийг зохиож эхлэхийн өмнө бид блокийн моделийн талаарх зарим зүйлсийг сайн ойлгох хэрэгтэй.

Блокийн модел.

Макетаас html кодод хөрвүүлэхдээ бид цэвэр блокийн моделийг ашигласан. Бүх элементүүдийг div тегэд оруулан кодолсон. Бид аль болохоор энгийн ойлгомжтой CSS ашиглахыг хичээх хэдий ч тэдгээрийг бүхий л хөтөч дээр ажиллуулахыг оролдох болно. Үүнийг хийх нэг зарчим бол блокийн модел юм. Блокийн модел /box model/ гэдэг нь хөтөч программд ойлгуулан веб хуудас дээрх элементүүдийг үзүүлэх арга. Энэ бол W3C -гийн стандарт модел хэдий ч хөтөч программуудад зарим нэгэн зөрүүтэй зүйлүүд байдаг. Энд хамгийн гол ойлгох зүйл бол шинжид заан өгч байгаа өргөний хэмжээ бол хүрээний бодит өргөн биш байдаг явдал. Дараах зургийг харна уу.  

Зурагт хөтөч программууд элементийн өргөнийг хэрхэн тооцдог, блок гэдгийг яаж ойлгох талаар үзүүлсэн байгаа. Блок гэдгийг олон үе бүхий жигнэмэг гээд ойлгоход болно. Жишээ нь агуулга /content/ хэсэг түүний гадуур дотоод алслалт /padding/ дараа нь хүрээ /border/ тэгээд хамгийн гадна захууд /margin/ гэсэн дор бүрдээ хэмжээ авч болдог үеүүдийн нэгдэл нь блок юм. Хэдийгээр захууд /margin/ блокийн өргөнд ордоггүй ч гэсэн тэдгээрийг санаж байх хэрэгтэй. Хөтөчүүд өргөнийг нэг аргаар тооцдоггүйгээс болоод хуудас хөтөч бүрд өөр өөрөөр харагдаад байдаг нь эхний үед хүндрэл учруулж болох талтай. Жишээ нь IE блокийн өргөнд дотоод алслалт /padding/, хүрээг /border/ оруулан тооцдог байхад бусад нь зөвхөн агуулга /content/ хэсгийн өргөнөөр тооцдог гэдгийг зураг дээр харуулсан байна.
Жишээ болгоод бүх талаасаа 5px хүрээтэй, 25 px дотоод алслалттай, 200 px өргөнтэй блокийг аваад үзье. Ийм блокийн харагдах бодит өргөн бидний санаснаар 200 биш 260px болно. Хэрвээ бидэнд яг 200 px өргөнтэй блок хэрэгтэй гэвэл үндсэн өргөнийг 140 px гэж л заах хэрэгтэй. Блокийн моделийн өргөний тооцоог сайн тогтоовол цаашид гарах хүндрэл багатай.
W3C box model -ийн ойлголттой болсон учраас загварыг кодлож эхлэе.

CSS -г хүчингүй болгох ба текстийн хэвжүүлэх

Хөтөчүүд блокууд хооронд заримдаа 10px зарим үед бүр 15px хэмжээтэй зайг өөрөө оруулдаг талаар дээр дурдсан. Энэ нь хуудсыг кодлох үед асуудал үүсгэж болох бөгөөд үүнээс болж бид өөрийн код дотроо алдаа хайн ихээхэн цаг хугацаа алдахад хүргэж мэднэ. Энэхүү асуудлыг шийдэхийн тулд (CSS Reset) буюу CSS -ийг хүчингүй болгохыг ашиглах юм. Олон төрлийн аргууд байдгаас зохиогч Эрика Майерийн хувилбарыг илүүд үзсэн байгаа. Аргыг ашигласны дараа бүгд урьдчилан таамаглаж болохоор ажиллах ба бидэнд кодлолыг хянах боломж бий болно. Файлыг http://meyerweb.com/eric/tools/css/reset/ хаягаар орон татан авч болно. Файлыг W3C validation - д тохируулан  багахан өөрчилсөн бөгөөд түүнд reset.css нэр өгөн сайтын CSS хавтаст хадгална.

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
}
:focus {
    outline: 0;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

Одоо та index.html файлаа өөрийн хөтөч дээр ачааллан харвал онцын өөрчлөлтийг олж харахгүй. Учир нь бид HTML -ээс хэвийн хүснэгт рүү холбоосыг хийгээгүйд оршино. Гэхдээ бид дээрх хэвийн хүснэгтийг манай сайтын <head> хэсгээр дамжуулан оруулан ирэхгүй. Үүний оронд бид үндсэн хэвийн хүснэгтийг зохиож эхлэхдээ @import командыг ашиглан reset.css файлаа дуудах болно.

Тесктийг хэлбэржүүлэх дүрмийн CSS файл.

CSS -г нэг нь хуудасны бүтэц зохион байгуулалтыг хянаж харин нөгөө нь хэлбэржүүлэлтийг хянах байдлаар хоёр хэсэг болгон хийх нь илүү байдаг. Хэлбэржүүлэлтийн файл текстийн байршил, фонтын өнгө, үсэг хоорондын зай, мөрийн өндөр гэх мэтийг агуулж байх юм. Ингэж хийх нь кодлох үед танд илүү уян хатан байдлыг бий болгодог. Жишээ нь та h1 тегийн фонтын хэмжээг 36 -аас 48 болгох хэрэгтэй боллоо гэе. Тэгвэл та магадгүй хэдэн зуун мөр бүхий style.css файлыг ухаж байхаар хэлбэржүүлэлтийн файлаа нээгээд h1 тегэд хамааралтай хэсгийг олоод фонтын хэмжээг өөрчлөхөд болно.
Хэлбэржүүлэлтийн хүснэгтийг кодлоход бидний Photoshop дээр хийсэн макет маш их хэрэг болдог. Жишээ нь текстийн талаарх мэдээллийг авахын тулд фотошопын Type Tool (T) хэрэгслээ аваад макетын текстийн блокийг сонгоод л харна. Ийм аргаар бид h1 тегийн текстийг #4d4d4d өнгөөр, 48px хэмжээтэй, Myriad Pro фонтоор бичснийг харж болно.

Энд фонт асуудал үүсэх шалтгаан болж мэднэ. Myriad Pro фонт нь интернетийн стандарт биш тул бид Myriad Pro фонтоор эхэлсэн фонтын бүлгийг тодорхойлж чадахгүй. Гэхдээ бүгдэд өөрийн макетыг яг байгаа чигээр нь харуулахыг бодох л хэрэгтэй. Бид энэхүү асуудлыг арай нарийн техник ашиглан дараа нь шийдэх ба харин одоо зүгээр Myriad Pro багтаасан фонтын бүлгийг тодорхойлоод компьютерт нь Myriad Pro фонт суугдаагүй хэрэглэгчдэд зориулан хэдэн нөөц фонтыг тодорхойлон өгөх юм. Ийм байдлаар бид манай макетын PSD файлыг бүхэлд нь шалган фонтын талаарх бүхий л мэдээллийг цуглуулбал h3 тег 24px хэмжээтэй, h5 тег #6eb9cc өнгөтэй гэх мэтээр тодорхойлох болно. Ажиллагааг логикийн дарааллаар хийвэл бид доорх кодыг гарган авах болно. Кодыг ойлгохын тулд Макетыг кодлох. Хичээл 1 -ийн Блокийн модел, PSD макетын текстийн тодорхойлолтын дагуу явах хэрэгтэй. Харин CSS -ээр тегийн атрибутуудал утга олгож байгаа нь нэрнээсээ ойлгомжтой.

h1 {
    color: #4d4d4d;
    font-family: "Myriad Pro", Helvetica, Arial, sans-serif;
    font-size: 48px;
    font-weight: normal;
}
h1 a { color: #4d4d4d; text-decoration: none; }
h2 {
    color: #6ec9cc;
    font-family: "Myriad Pro", Helvetica, Arial, sans-serif;
    font-size: 12px;
    letter-spacing: 12.4px;
    text-transform: uppercase;
}
h3 {
    color: #6ec9cc;
    font-family: "Myriad Pro", Helvetica, Arial, sans-serif;
    font-size: 24px;
    font-weight: normal;
}
h4 {
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
}
h4 a { color: #ffffff; text-decoration: none; }
h5 {
    color: #6ec9cc;
    font-family: "Myriad Pro", Helvetica, Arial, sans-serif;
    font-size: 18px;
    font-weight: normal;
}
h5 a { color: #6ec9cc; text-decoration: none; }
p {
    color: #525252;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}
p.meta { color: #707070; font-size: 10px; text-align: right; }
p#footer-text { text-align: center; }
div#message p { color: #4d4d4d; line-height: 20px; }
a {
    color: #999999;
    text-decoration: none;
}
a:hover { text-decoration: none; }
p#action-bar a { color: #ffffff; }
p#action-bar a:hover { color: #6eb9cc; text-decoration: none; }

Кодоо typography.css гэсэн нэртэй файлд хадгалаарай. Энд тайлбарлаад байх зүйл бараг байхгүй гэж бодож байна. Хэрвээ та CSS -ийн талаар сайн мэдэхгүй бол Сайтын CSS хэсгийн хичээлүүдийг эхлээд үзэхийг зөвлөе. Энэ бол зөвхөн үндсэн бүтэц. Myriad Pro фонт байхгүй бол Helvetica, Arial фонтыг нөөц фонтоор авсан байгаа. Эдгээр нь Myriad -ийн тийм ч сайн орлогч биш ч удахгүй бидэнд эдгээр фонтын хэрэгцээ байхгүй болно. Гэхдээ яахав байж л байг. Энд программчлалын аргачлалд дараах зүйлсийг анхаарна уу.

  • Тегийн шинжийг бичихдээ догол мөрнөөс бичих нь уншигдах талаасаа илүү байдаг.
  • Шинжүүдийг үсгийн дараалал баримтлан бичих. Энэ нь дараа нь тодорхой шинжүүдийг засварлахад маш их хэрэг болдог
  • Тегийн шинжүүд 3-аас илүүгүй бол тэдгээрийг нэг мөрөнд бичих.  

Программчлалын код бичих хэв маягт хамгийн гол нь дэс дараалал, эмх цэгц байдаг. Танд таны программчлалын хэв маяг таалагдаж байх хэрэгтэй. Эмх цэгцгүй, дараалалгүй бичсэн кодыг багахан хугацааны дараа та өөрөө ч ойлгоход хүнд болдогийг байнга санаж байгаарай. Кодыг хурдан, цэгцтэй, ойлгомжтой бичих өөрийн хэв маягт эхнээсээ л суралцах хэрэгтэй.

Мэдээлэл таалагдсан бол найзуудтайгаа хуваалцаарай.

  Нээгдсэн тоо: 2101 Бүртгүүлэх

CSS -ийг HTML -ийн элементүүдэд хэрэглэдэг тухай өмнө нь хэлсэн. Гэхдээ үгийн эхний үсэг, хэсгийн эхний мөр гэх мэтийн HTML -д байдаггүй мөртлөө хуудас дээр орж ирдэг элементүүд бий. Ийм элементүүдийг хуурмаг элементүүд гэж нэрлэдэг. Эдгээрт HTML -ийн элементийн адилаар хэв заан өгч болдог.

Хуурмаг элементүүд

1. first-letter - үгийн эхний үсгийн хэвийг заана. Манай html хуудаст ямар нэгэн хэсэг байсан гэж үзье.   

<html>
<head>
<title>Хуудасны толгой</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<p>Эхний үсгийг улаан өнгөтэй болгон тодруулах хэсэг.</p>
</body>
</html>

Мөрийн эхний үсгийг улаан өнгөөр харагдуулахын тулд хэвийн хүснэгтэд дараах мөрийг нэмнэ.

  Нээгдсэн тоо: 1610 Төлбөртэй

Өмнөх хичээлд бид цэсэнд зориулан спрайт хийсэн. Цэсэнд дэвсгэр зураг ашиглахын өмнө түүнийг баруун тийш байрлуулах хэрэгтэй. Бид 4-р хичээлд id="content" блокт position: relative; шинжийг өгсөн. Одоо энэ шинж бидэнд хэрэгтэй болно. Агуулгын блоктой харьцангуй байрлалыг ашиглан бид цэсийг өөрийн хүссэн газар руу хөдөлгөх болно. Өөрөөр хэлбэл агуулгын төв хэсгийн баруун дээд булан руу шилжүүлэх болно. Энд 0, 0 координат бол хөтөчийн цонхны зүүн дээд булан биш харин content блокийн зүүн дээд булан гэснийг илэрхийлнэ.

  Нээгдсэн тоо: 2143 Нийтийн

Энэ хичээлээр бид сайтын CSS кодчлолыг дуусгах болно. Манай сайтын дизайн бараг дуусч байгаа ба бид одоо сайтын хөл хэсгийн хэлбэржүүлэлтийг хийх үлдсэн. Хөл хэсэг зураг болон текстийн хоёр хэсгээс бүрдэнэ. Зургийг гаргахын тулд Footer -> Image бүлэгт ороод background, image үеүүдийг нэгтгээд хуулаад шинэ файлд оруулаад footer-image.jpg нэрээр хадгална. Зургийн хувьд PNG форматаар том хэмжээтэй гарах тул jpg -г сонгоорой. Толгой хэсгийн зургийг гаргасантай адил тул нарийн тайлбар хийхгүй.

  Нээгдсэн тоо: 2039 Төлбөртэй

Сайтын html, css кодыг бичихдээ бид дээрээс доош дарааллах зарчмыг баримталж байсан бол энэ удаа дүрмээсээ бага зэрэг хазайн цэсний хэсгээс өмнө сайтын төв хэсгийг кодлох болно. Энэ хэсэг бол манай PSD макет дээр доорх зурагт үзүүлсэн хэсэг.

Үйл явдал /event/ тодорхой үйлдэл хийгдсэн талаар системд мэдэгддэг. Хэрвээ бид энэхүү үйлдлийг ажиглах хэрэгтэй бол яг энд…

Нээгдсэн тоо : 161

 

Манай төсөл олон хуудсуудтай болон тэдгээрийн хооронд динамикаар шилжилт хийж байгаа ч тухайн үед шилжилт хийгдсэн хуудаст тохирох…

Нээгдсэн тоо : 235

 

Зочин (Visitor) паттерн классуудыг өөрчлөхгүйгээр тэдгээрийн обьектуудын үйлдлийг тодорхойлох боломжийг олгоно. Зочин хэвийг ашиглахдаа классуудын хоёр ангилалыг тодорхойлно.…

Нээгдсэн тоо : 200

 

Лямбда-илэрхийлэл нь нэргүй аргын хураангуй бичилтийг илэрхийлнэ. Лямбда-илэрхийлэл утга буцаадаг, буцаасан утгыг өөр аргын…

Нээгдсэн тоо : 315

 

Кодийн сайжруулалт /рефакторинг/ хичээлээр програмийн кодоо react -ийн зарчимд нийцүүлэн компонентод салгасан.…

Нээгдсэн тоо : 343

 

Хадгалагч (Memento) хэв обьектын дотоод төлвийг түүний гадна гаргаж дараа нь хайрцаглалтын зарчмыг зөрчихгүйгээр обьектыг сэргээх боломжийг олгодог.

Нээгдсэн тоо : 351

 

Делегаттай нэргүй арга нягт холбоотой. Нэргүй аргуудыг делегатийн хувийг үүсгэхэд ашигладаг.
Нэргүй аргуудын тодорхойлолт delegate түлхүүр үгээр…

Нээгдсэн тоо : 430

 

Математикт харилцан урвуу тоонууд гэж бий. Ямар нэгэн тооны урвуу тоог олохдоо тухайн тоог сөрөг нэг зэрэг дэвшүүлээд…

Нээгдсэн тоо : 439

 

Төсөлд react-router-dom санг оруулан чиглүүлэгчдийг бүртгүүлэн тохируулсан Санг суулган тохируулах хичээлээр бид хуудас…

Нээгдсэн тоо : 507

 
Энэ долоо хоногт

функцийн уламжлалыг тооц.

Нээгдсэн тоо : 515

 

утгыг ол.

Нээгдсэн тоо : 308

 

prob04_103_01 ба prob04_103_02 векторууд перпендикуляр бол y -ийн утгыг ол.

Нээгдсэн тоо : 171