Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Оцените, пожалуйста код вёрстки (https://javascript.ru/forum/project/18877-ocenite-pozhalujjsta-kod-vjorstki.html)

OlegALL 19.07.2011 12:24

Оцените, пожалуйста код вёрстки
 
Укажите на все ошибки, особенно по семантике


html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Кухонный двор</title>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript" src="jcarousellite_1.0.1.js"></script>
<script type="text/javascript" src="scripts.js"></script>
</head>
<body>

<div id="background">
     <div id="content">
	      <div id="logo"></div>
		  <div id="phone"></div>
		  <!-- Верхнее меню -->
		  <div id="top_menu_wrapper">
			   <ul>
			       <li><a href="javascript:void(0)" class="top_menu_item1">Каталог</a></li>
			       <li><a href="javascript:void(0)" class="top_menu_item2">Адреса салонов</a></li>
			       <li><a href="javascript:void(0)" class="top_menu_item3">Акции</a></li>
			       <li><a href="javascript:void(0)" class="top_menu_item4">Сотрудничество</a></li>				   
			   </ul>
			   
			   <div class="bg_arrow1"></div>
			   <div class="bg_arrow2"></div>
			   <div class="bg_arrow3"></div>
			   <div class="bg_arrow4"></div>
		  </div>
		  <!-- Левое меню -->		  
		  <div id="left_menu_wrapper">
			   <ul>	
			       <li><a href="javascript:void(0)">О компании</a></li>
			       <li><a href="javascript:void(0)">Спецпредложения</a></li>
			       <li><a href="javascript:void(0)">Контакты</a></li>
			       <li><a href="javascript:void(0)">Услуги</a></li>		        
			       <li><a href="javascript:void(0)">Контакты</a></li>		        				   
			   </ul>
		  </div>
          <h2 id="information">Единая справочная:</h2>
		  <!-- Среднее меню с иконками -->
		  <div id="icon_menu_wrapper">
			   <ul>	
			       <li><a href="javascript:void(0)"  id="bg_online_payment">On-line<br>расчёт</a></li>
			       <li><a href="javascript:void(0)"  id="bg_designer_call">Вызов<br>дизайнера</a></li>
			       <li><a href="javascript:void(0)"  id="bg_write_to_director">Напиши<br>директору</a></li>
			       <li><a href="javascript:void(0)"  id="bg_credit">Кредит</a></li>		        
			       <li><a href="javascript:void(0)"  id="bg_answer_question">Вопрос-<br>ответ</a></li>
			       <li><a href="javascript:void(0)"  id="bg_discount_program">Дисконтная<br>программа</a></li>		        
			       <li><a href="javascript:void(0)"  id="bg_coupon"> Купон</a></li>		        				   
			   </ul>
		  </div>
		  
          <!-- Серые квадраты -->
		  <div id="squares_wrapper">
		       <div id="square1"></div> 
			   <div id="square2"></div>
          </div>
		  
		  <!--Слайдер и новости-->
          <div id="content_location">
		       <h1 id="novelty">Новинки</h1>
			   <a href="javascript:void(0)" class="prev"></a>
			   
			   <div id="slider">
 					<ul>
                       <li><a href="javascript:void(0)"><img src="images/preview1.png" alt="" width="175" height="124" ></a></li>
                       <li><a href="javascript:void(0)"><img src="images/preview2.png" alt="" width="176" height="124" ></a></li>
                       <li><a href="javascript:void(0)"><img src="images/preview3.png" alt="" width="162" height="124" ></a></li>
                    </ul>
			   </div>
			   <a href="javascript:void(0)" class="next"></a>
			   <h1 id="news">Новости</h1>
			   <div id="date1"></div>
			   <div id="date2"></div>
     		   <p id="text1">
			   Уважаемые клиенты! В условиях
			   мирового финансового кризиса,
			   который отразился на всех рынках
			   и сферах деятельности, нам
			   </p>
			   <p id="text2">
			   Уважаемые клиенты! В условиях
			   мирового финансового кризиса,
			   который отразился на всех рынках
			   и сферах деятельности, нам
			   </p>
			   <a href="javascript:void(0)" id="allnews">Все новости</a>
  		   </div>
	    </div>
        <div id="white_and_schemes"></div>
</div>

<div id="footer">
	 <div id="small_rectangle"></div>
	 <div id="footer_text">&copy; Кухонный двор<br>
	 <a href="javascript:void(0)" style="color: #28166f; text-decoration: underline;">
	 Кухни на заказ</a>, стильные кухни, кухонная мебель</div>       
</div>

</body>
</html>


css:

*{
margin: 0;
padding: 0;
outline: medium none;
}

html {
background-color: white;
height: 100%;
width: 100%;
}

body{
background: white;
}

h1{
font: 26px Arial;
margin-left: 50px;
margin-bottom: 20px;
}

h2{
position: absolute;
top: 570px;
left: 750px;
font: 16px "Trebuchet MS";
}

p{
position: relative;
float: left;
width: 230px;
font: 14px Arial;
color: #656362;
}

a{
font: italic 16px "Trebuchet MS";
text-decoration: underline;
}

li{
margin-left: 5px;
margin-right: 5px;
}

img{
border: 0px;
display: block;
}
#novelty{
text-decoration: underline;
}
#news{
margin-left: 50px;
}


#background{
position: relative;
margin: 0 auto;
width: 100%;
height: 1322px;
background: #f6e8d3 url(images/main_cut.png) center top no-repeat;
}

#logo{
position: absolute;
top: 28px;
left: 16px;
width: 266px;
height: 168px;
background: url(images/logo.png) center top no-repeat;
}
#phone{
position: absolute;
left: 760px;
top: 474px;
width: 202px;
height: 151px;
background: url(images/phone.png) center top no-repeat;
}
#white_and_schemes{
position: relative;
margin: 0 auto;
width: 100%;
top: 650px;
height: 684px;
background: url(images/white_area.png) center no-repeat;
}


/* Верхнее меню */
#top_menu_wrapper{
position: absolute;
top: 30px;
left: 300px;
}
#top_menu_wrapper ul li{
display: inline;
}
#top_menu_wrapper ul li a {
position: relative;
float: left;
padding-left: 30px;
padding-right: 30px;
padding-top: 3px;
padding-bottom: 5px;
color: white;
background: url(images/bg_menu.png) repeat-x;
}
#top_menu_wrapper ul li a:hover{
background: url(images/bg_menu.png) repeat-x;
color: white;
}

.bg_arrow1{
position: relative;
float: left;
height: 8px;
width: 126px;
background: url(images/arrow.png) center no-repeat;
}
.bg_arrow2{
position: relative;
float: left;
height: 8px;
width: 178px;
}
.bg_arrow3{
position: relative;
float: left;
height: 8px;
width: 105px;
}
.bg_arrow4{
position: relative;
float: left;
height: 8px;
width: 190px;
}

.arrow{ 
background: url(images/arrow.png) center no-repeat;
}


/* Меню c иконками */
#icon_menu_wrapper{
position: relative;
top: 500px;
}
#icon_menu_wrapper ul li{
display: inline;
}
#icon_menu_wrapper ul li a{
position: relative;
float: left;
padding-top: 70px;
margin-right: 35px;
width: 75px;
color: #443521;
}

#bg_online_payment{ background: url(images/online_payment.png) no-repeat;}
#bg_designer_call{ background: url(images/online_payment.png) no-repeat;}
#bg_write_to_director{ background: url(images/write_to_director.png) no-repeat;}
#bg_credit{ background: url(images/credit.png) no-repeat;}
#bg_answer_question{ background: url(images/answer_question.png) no-repeat;}
#bg_discount_program{ background: url(images/discount_program.png) no-repeat;}
#bg_coupon{ background: url(images/coupon.png) no-repeat;}





/* Левое меню */
#left_menu_wrapper{
position: absolute;
top: 330px;
left: 16px;
width: 150px;
height: 125px;
padding-left: 5px;
padding-top: 5px;
padding-bottom: 5px;
line-height: 1.5;
background: url(images/left_menu.png);
}
#left_menu_wrapper ul li{
display: block;
}
#left_menu_wrapper ul li a{
color: #443521;
}

#content{ 
position: relative;
margin: 0 auto;
left: 0px;
width: 945px;
z-index: 1;
}

#squares_wrapper{
position: absolute;
top: 690px;
left: 68px;
}

#square1{
position: relative;
width: 240px;
height: 240px;
margin-bottom: 10px;
background: #f1f1f1;
}
#square2{
width: 240px;
height: 200px;
background: #f1f1f1;
}

#content_location{
position: absolute;
top: 690px;
left: 310px;
}

#slider{
position: relative;
float: left;
height: 124px;
margin-bottom: 20px;
}

.prev{
position: relative;
float: left;
width: 20px;
height: 124px;
margin-left: 25px;
background: url(images/arrow_prev.png) left center no-repeat;
}

.next{
position: absolute;
z-index: 2;
top: 51px;
left: 602px;
width: 20px;
height: 124px;
background: url(images/arrow_next.png) right center no-repeat;
}


#date1{
position: relative;
float: left;
width: 250px;
height: 25px;
margin-left: 50px;
margin-bottom: 10px;
background: url(images/date.png) left no-repeat;
} 

#date2{
position: relative;
float: left;
width: 250px;
height: 25px;
margin-left: 20px;
margin-bottom: 10px;
background: url(images/date.png) left no-repeat;
}

#text1{
margin-left: 50px;
margin-bottom: 10px;
padding-right: 20px;
border-right: 1px dashed #656362; 
}
#text2{
margin-bottom: 10px;
padding-left: 20px;
}

#allnews{
position: relative;
float: left;
font: 14px Arial;
color: #28166f;
margin-left: 50px;
padding-right: 12px;
text-decoration: underline;
background: url(images/allnews_arrow.png) right no-repeat;
}

#footer{
position: relative;
margin: 0 auto;
height: 120px;
width: 100%;
}

#small_rectangle{
position: absolute;
top: 45px;
left: 495px;
width: 85px;
height: 30px;
margin-bottom: 20px;
background: #f1f1f1;
}

#footer_text{
position: absolute;
top: 45px;
left: 695px;
margin-bottom: 20px;
font: 14px Arial;
}

ваый 19.07.2011 12:27

отформатируйте код, чтобы было удобнее оценивать (javascript.ru/formatting)

melky 19.07.2011 15:54

вёрстку не могу оценить, но этот html плох

<li><a href="javascript:void(0)"  id="bg_online_payment">On-line<br>расчёт</a></li>
			       <li><a href="javascript:void(0)"  id="bg_designer_call">Вызов<br>дизайнера</a></li>
			       <li><a href="javascript:void(0)"  id="bg_write_to_director">Напиши<br>директору</a></li>
			       <li><a href="javascript:void(0)"  id="bg_credit">Кредит</a></li>		        
			       <li><a href="javascript:void(0)"  id="bg_answer_question">Вопрос-<br>ответ</a></li>
			       <li><a href="javascript:void(0)"  id="bg_discount_program">Дисконтная<br>программа</a></li>		        
			       <li><a href="javascript:void(0)"  id="bg_coupon"> Купон</a></li>


я про href у ссылок

OlegALL 19.07.2011 16:06

Это чтобы не скроллилось при нажатии по ссылкам

ваый 19.07.2011 16:09

На первый взгляд нормально, однако есть явные косяки.

1. Если даете элементу id, то внутренние блоки лучше стилизовать через класы, не надо столько id, на каждый элемент.

2. <a href="javascript:void(0)" style="color: #28166f; text-decoration: underline;"> За такое надо бить по почкам.

3. пора уже и на пятый доктайп можно переходить <!doctype html>

Magneto 19.07.2011 16:19

В стилях я вижу только один шрифт "Trebuchet MS", а если его у пользователя не окажется то каким шрифтом отобразит весь текст браузер?

ваый 19.07.2011 16:26

h2 {position: absolute; top: 570px; left: 750px; ...

это вообще плохо

Gozar 19.07.2011 16:41

Цитата:

charset=windows-1251
некавайно, utf-8 ку!
И отцентрировать сайт непомешало бы.

OlegALL 19.07.2011 21:10

Цитата:

Сообщение от ваый (Сообщение 114254)
h2 {position: absolute; top: 570px; left: 750px; ...

это вообще плохо

почему?

trikadin 19.07.2011 21:18

Некошерно писать стилевые свойства на одной строчке с селекторами) Делайте так:
h2 {
 position: absolute;
 top: 570px;
 left: 750px;
}


Плюс пропускайте строчку между блоками. Так глаз лучше "выхватывает" блоки.

ваый 19.07.2011 23:26

я имел в виду абсолютное позиционирование заголовка

trikadin 20.07.2011 01:05

Да, кстати, не обратил внимания)

DreamTheater 23.07.2011 18:14

Как учил мой наставник, ID к элементу мы применяем только если он будет использоваться в JavaScript, для обычной стилизации всегда используем классы.

Gozar 23.07.2011 20:12

Цитата:

Сообщение от trikadin (Сообщение 114304)
Некошерно писать стилевые свойства на одной строчке с селекторами) Делайте так:
h2 {
 position: absolute;
 top: 570px;
 left: 750px;
}


Плюс пропускайте строчку между блоками. Так глаз лучше "выхватывает" блоки.

Когда таких блоков(лесницей) 10 это ещё куда ни шло, но когда 150 это уже раздражает, чтобы найти селектор нужно будет пользоваться поиском, что является лишним трудом. В строчку писать удобнее, максимум так(лестницей) можно писать когда работаешь с селектором, но потом обязательно вытягивать в строку. Таким образом можно разбивать селекторы на визуальные блоки(блоки селекторов относящихся к одному виджету и т.д.), что в случае лесницы принципиально невозможно.

ваый 23.07.2011 20:44

На самом деле это предмет долгих холиваров, потому как находится в области предпочтений каждого отдельного верстальщика. Когда я спрашиваю друга верстальщика, как его не тошнит от отсутствия пробелов в его css после двоеточий, он только пожимает плечами. Вопрос удобства, да.

DreamTheater 23.07.2011 20:51

Цитата:

Сообщение от ваый (Сообщение 115032)
На самом деле...

На самом деле есть такая штука как Definition of Done, которую устанавливает руководство проекта или команда в целом. По ходу разработки периодически случаются Code Review, и будет верстальщик переверстывать свое творение, как бы сильно ему не было неудобно :)

OlegALL 26.07.2011 09:01

Спасибо!

ваый 26.07.2011 09:15

Цитата:

Сообщение от DreamTheater (Сообщение 115033)
На самом деле есть такая штука как Definition of Done, которую устанавливает руководство проекта или команда в целом. По ходу разработки периодически случаются Code Review, и будет верстальщик переверстывать свое творение, как бы сильно ему не было неудобно :)

Ага! Если бы у нас так было!.. Это идеально было бы..

DreamTheater 26.07.2011 09:35

Цитата:

Сообщение от ваый (Сообщение 115431)
Ага! Если бы у нас так было!.. Это идеально было бы..

:(


Часовой пояс GMT +3, время: 01:52.