Автор Тема: Малък въпрос за CSS  (Прочетена 2140 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Малък въпрос за CSS
« -: 17 Август 2012, 20:56:29 »
Първо да отбележа, че не съм дизайнер. Напоследък обаче задавам леко тъпи въпроси може би, за което се извинявам.  Реших обаче да разръчкам малко CSS. Въпроса ми е следния.  Защо се дефинира нулев margin и padding на body-то?   

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Малък въпрос за CSS
« Отговор #1 -: 17 Август 2012, 21:01:43 »
Защо се дефинира нулев margin и padding на body-то?

Защото всеки браузър си има свой файл с css стилизации на раличните елементи(блокови и инлайн).Специално за padding не съм сигурен дали има по default, но за margin съм сигурен, че има на body-то, който е с различна стойност при различните видове браузъри.

howto

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 44
  • -Получени: 5
  • Публикации: 341
Re: Малък въпрос за CSS
« Отговор #2 -: 17 Август 2012, 21:02:24 »
Аз може и да греша,но <Body> тага всъщност е контейнер, който държи цялата информация.Също така този таг можеш да го манипулираш като всички останали тагове.А защо слагат margin:0; padding:0; не мога да кажа .

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Малък въпрос за CSS
« Отговор #3 -: 17 Август 2012, 21:09:29 »
Аз докато чаках да отговорите,  разгледах малко и навсякъде се пише. Явно е някакъв стандарт. Досега като ми се е налагало да пиша CSS, никога не съм ги дефинирал, но това си е било грешка.  Един вид ако съм разбрал правилно, ако се дефинират в body-то, после си спестявам  доста време и проблеми.   Това дефиниране на margin и padding подобрява ли работата с IE? Щото всички знаем, че ако под Хром, Сафари, FF изглежда еднакво, то под IE e съвсем друга песен.

Avalanche

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 65
  • -Получени: 275
  • Публикации: 2602
  • meow
Re: Малък въпрос за CSS
« Отговор #4 -: 17 Август 2012, 21:10:04 »
Щото body-то винаги трябва да изпълва прозореца на клиента. Приеми го като плоча на къща, върху която вече може да слагаш тухлите където ти е кеф. Когато плочата ти е сложена на точното място, то тогава къщата ти ще изглежда еднакво под всички браузъри.
"Компютрите не правят каквото искаме, а каквото им кажем." Ако разбереш какво значи това няма да имаш големи проблеми, нито с никоя ОС, нито език, или софтуер.
Аз не съм програмист между другото!

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Малък въпрос за CSS
« Отговор #5 -: 17 Август 2012, 21:18:19 »
Аз докато чаках да отговорите,  разгледах малко и навсякъде се пише. Явно е някакъв стандарт. Досега като ми се е налагало да пиша CSS, никога не съм ги дефинирал, но това си е било грешка.  Един вид ако съм разбрал правилно, ако се дефинират в body-то, после си спестявам  доста време и проблеми.   Това дефиниране на margin и padding подобрява ли работата с IE? Щото всички знаем, че ако под Хром, Сафари, FF изглежда еднакво, то под IE e съвсем друга песен.

@HD направо ме учудваш, мисля че знаеш каква е целта на зануляването на тези стойности .Най-общо реда

Код: CSS
  1. body {margin:0; padding:0;}

ти осигурява спокойствието, че под различните браузъри съдържанието на страницата няма да започва от някакъв външен и съответно вътрешен отстъп.

HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Малък въпрос за CSS
« Отговор #6 -: 17 Август 2012, 21:22:21 »
@Стан Няма какво да се чудиш. Досега не ми се е налагало да пиша много CSS. Тук не ми е силата честно казано.

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Малък въпрос за CSS
« Отговор #7 -: 17 Август 2012, 21:29:48 »
Добре, относно следния въпрос:

Това дефиниране на margin и padding подобрява ли работата с IE?

Ами подобрява я толкова, колкото и при другите браузъри.


HD

  • Administrator
  • Hero Member
  • *****
  • Благодарности
  • -Казани: 208
  • -Получени: 165
  • Публикации: 3077
Re: Малък въпрос за CSS
« Отговор #8 -: 17 Август 2012, 21:33:16 »
Така че го давайте по-леко..  Знам CSS колкото да се оправям с него в общи линии. На мен силата ми е на съвсем друго място. :) , но все пак ще подобрим малко знанията, за да не задавам тъпи въпроси и Стан да се шашка.  ;D

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 123
  • -Получени: 73
  • Публикации: 1002
  • Кибик
Re: Малък въпрос за CSS
« Отговор #9 -: 18 Август 2012, 22:11:49 »
Ице, моето мнение е, че не трябва да се тормози браузера с тез дефинирания, защото все пак започваме начално изпълнение на стилове, по всички правила това е НУЛА. Няма от къде да наследи стил, освен от дефолтния. А тези CSS дето си ги имат по дефолт са си за шрифта, размера му и някои цветове.
Можеш да ги променяш, но смисъла е като да купуваш земя на луната, нито ще имаш пари да си надзираваш имота, нито ще разбереш кога някой се е настанил там ;) .
« Последна редакция: 19 Август 2012, 16:10:03 от HanKrum »
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Малък въпрос за CSS
« Отговор #10 -: 19 Август 2012, 10:52:23 »
Ице, моето мнение е, че не трябва да се тормози браузера с тез дефинирания, защото все пак започваме начално изпълнение на стилове, по всички правила това е НУЛА. Няма от къде да наследи стил, освен от дефолтния. А тези CSS дето си ги имат по дефолт са си за шрифта, размера му и някои цветове.

Хане, не е точно така.Браузъра не би изпитъл затруднения за няколко реда css стилизации препокриващи тези които той има по дефолт стойност.Лоша практика е точно заради бързодействието и излишното натоварване на браузъра да се използва универсалния селектор * тъй като това обхваща всички съществуващи html елементи, голяма част от които нямат нужда от едно или друго css свойство. Дефолтната стойност за различните блокови елементи за външен отстъп(margin) а при някои и вътрешен отстъп(padding) НЕ е нула и е различна при по-старите версии на ИЕ(може би и при по-стари версии и на другите браузъри).Именно затова точно тези две css свойства са в основата на т.н css reset.Добър пример за такъв начален рестарт на стилизациите е css reset кода на гиганта yahoo -> http://www.cssreset.com/scripts/yahoo-css-reset-yui-3/ (може да се съкрати допълнително, ако никога в кода си не използваме някои от споменатите html елементи)
За протокола при съвременните браузъри (включително ИЕ8 и нагоре)  стойността по дефолт(зададената такава от стилизиращите правила от css файла на съответния браузър) външния отстъп на body елемента е 8px.

MrCroZer

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 11
  • -Получени: 17
  • Публикации: 411
Re: Малък въпрос за CSS
« Отговор #11 -: 19 Август 2012, 12:52:02 »
Наистина, 2 реда няма да пречат на скоростта изобще, най много си го минифицираш после css ако мислиш че ти товари, но ме съмнява.
Все пак от моя опит аз при започване да кодирам, правя следното чистене.

Код: HTML
  1. <style type='text/css'>
  2. body,html,
  3. h1,h2,h3,h4,h5,h6,
  4. table,form,
  5. ul,p{
  6.     margin:0px;
  7.     padding:0px;
  8. }
  9. table{
  10.    border-spacing:0px;
  11.    line-height:inherit;
  12. }
  13. ul{
  14.    list-style:none;
  15. }
  16. a{
  17.    text-decoration:none;
  18. }
  19. a img,img{
  20.    border:0px;
  21. }
  22. a:hover {
  23.    text-decoration:underline;
  24. }
  25. p{
  26.   padidng-left:10px;
  27. }

HanKrum

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 123
  • -Получени: 73
  • Публикации: 1002
  • Кибик
Re: Малък въпрос за CSS
« Отговор #12 -: 19 Август 2012, 16:09:18 »
;) Станимирски, май изброи само версии на IE и някои стари на други браузери, ами кога ще погледнем напред. Защо не се продават сапове за каменни брадви и защо не правят ножчетата за бръснене от бронз, защото хората гледат напред, а най-бързо развиващата се среда интернет тъпче на място заради "хората", които ги е страх или мързи да натиснат UPDATE. Кой освен нас (разработчиците) ще накарат "хората" да гледат напред (да натиснат update)?!?
"Силата на правителството се крепи на невежеството на народа, и те знаят това и винаги ще се борят против просвещението." Лев Толстой

Stan

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 27
  • -Получени: 135
  • Публикации: 641
Re: Малък въпрос за CSS
« Отговор #13 -: 19 Август 2012, 16:32:56 »
Не е само заради IE, една от практичните причини да се използва подобно "зануляване" касае точно кодера.Защо да бъде необходимо той да знае наизуст кой блоков елемент с какъв маргин или падинг върви по дефолт стойност за да знае с колко да отмести следващ или предходен елемент ? Ако не ги знае наизуст все някъде ще почне да не му излизат сметките особено ако работи с проценти.Също не на всеки блоков елемент ще му трябва маргин или паддинг(и то от страните по които е зададен от дефолт стойността) съответно той трябва да прави същото зануляване по енда или друга причина.