2010-06-23 9 views
9

Czy kiedykolwiek stosowaliście style inline do jednorazowych?Inline style for one-offs?

Na przykład chciałem zrobić tylko jeden konkretną listę w mojej witrynie stosowane liter:

<ol style="list-style-type:lower-alpha"> 

Czy to naprawdę tak źle? A może połapałeśby się na dowodzie osobistym, a następnie zakopałeś go w dużym pliku CSS, w którym będzie to trudny do odnalezienia?

+1

Prawdopodobnie wprowadziłbym ten tekst, chyba że byłby to jeden z kilku "jednorazowych" w moim kodzie HTML. Wtedy zacznę szukać podobieństw i możliwych zajęć. Ale tak, czasami wstawiam. –

+0

Jeden krótki komentarz, jeśli dodawał tę regułę do mojego CSS, dałbym mu klasę, a nie id, więc jest bardziej przydatny do ponownego użycia. Poza tym zgadzam się z istniejącymi odpowiedziami. – Fenton

Odpowiedz

5

Nie, to, co zrobiłeś, jest dobre. Style liniowe są używane tylko raz. Oczywiście wiele razy to się skończyło (ab).

0

Nie uderzyłbym w nią id, bym go uderzył na class i szybko znajdę to później za pomocą funkcji wyszukiwania mojego edytora.

1

Będę nadal umieszczał go w pliku jako class, jeśli to jest to, co robisz wszędzie. Wyobraź sobie, że ktoś próbował znaleźć ten styl w głównym pliku CSS i spędził wiele godzin szukając czegoś, czego tam nie było.

Co się stanie, jeśli zdecydujesz, że lubisz ten styl i chcesz go użyć w innym miejscu? W każdym razie musisz umieścić główny plik CSS.

+3

Sprawdziłbym go za pomocą jakiegoś narzędzia deweloperskiego, takiego jak Firebug, i od razu zobaczę, skąd się wzięła jego stylizacja. –

+1

Osoba będzie patrzeć na źródło, aby znaleźć nazwę klasy, aby szukać. Gdy to zrobią, zobaczą wyraźnie styl inline i nie będą musieli otwierać pliku .css. – MrChrister

+0

Zgadzam się z Matthew. Powiedz, że Ty lub Twój klient decydujesz się wprowadzić zmiany w projekcie. Po co przeglądać pliki HTML i CSS, skoro można łatwo zmienić wszystko, co należy zmienić, zmieniając tylko jeden plik? –

0

Chciałbym class go. Jeśli strona zostanie kiedyś odziedziczona przez kogoś innego, zrób im przysługę i pozostań niezmieniona. Poza tym łatwiej będzie się zmienić, jeśli pewnego dnia zdecydujesz, że lower-alpha już nie działa.

3

Nie ... nigdy tego nie rób. Gdziekolwiek myślisz, że jest jednorazowa, tuż za rogiem czai się dwoje. Potem trzy. Potem cztery.

Poświęć dodatkowe 60 sekund, aby zrobić to dobrze - Ty i każdy, kto podąży za Tobą z obsługą, będzie zadowolony, że to zrobiłeś.

+0

Zawsze mogę go przekonwertować, gdy potrzebuję drugiego wystąpienia. Problemem, który czasem znajduję, jest odpowiednie nazwanie. Myślisz, że to jest jednorazowe, więc podasz mu identyfikator, który jest specyficzny dla tej sprawy, jak "login-box" czy coś podobnego, a potem chcesz go użyć gdzie indziej ... a potem ... musisz albo zmieniać nazwy, lub zaczynasz dzwonić do "pudełek logowania", które tak naprawdę nie są. – mpen

+2

rozwiązaniem jest umieszczenie przecinka # login-box, # some-box {some-css :;}, więcej powodów, aby tego nie robić inline ... – Kasumi

0

Powinieneś umieścić go w pliku CSS. Mam model mentalny, który mówi: stylizacja = CSS. Jeśli nie ma go w CSS, szczerze mówiąc, pomyliłbym się.

Co więcej, jeśli chcesz ponownie użyć tego stylu. Chodzi mi o to, że teraz mówisz, że to JEDEN przedmiot, ale kto wie.

Dobrą praktyką jest używanie css/classes, co zwykle się opłaca.

6

Przedstawienie problemu ujawnia kolejny problem, który ma wpływ na decyzję: albo wstawić styl, albo ukryć go w dużym pliku CSS.

Wiesz, że lepszym wyborem jest umieszczenie odpowiednich reguł stylizacji w pliku CSS. Chcesz umieścić odpowiednie reguły stylizacji w pliku CSS, ale jest on zniechęcony przez zadanie zarządzania plikiem CSS.

Definiowanie reguł stylizacji w linii jest mniej bolesne niż zachowanie dużego pliku CSS. Problemy, z jakimi mamy do czynienia przy dużym pliku CSS, będą się tylko pogarszać, im bardziej projekt będzie rósł.

Musisz przerwać duży plik CSS w zestaw bardziej zarządzalnych plików CSS.

Zestaw plików CSS może być o wiele łatwiejszy w zarządzaniu, jeśli są one odpowiednio nazwane i zawierają odpowiednio pogrupowane reguły.Możesz wybrać jeden plik CSS dla układu, jeden dla typografii, jeden dla kolorów i być może jeden na stronę dla każdej strony, która jest znacząco inna.

Zestaw plików CSS jest dla Ciebie łatwiejszy, pojedynczy plik CSS jest lepszy z punktu widzenia wydajności użytkownika końcowego.

Rozwiązanie tych dwóch sprzecznych potrzeb jest proste: opracuj zestaw plików CSS i poproś, aby proces budowania łączył je w pojedynczy (zminimalizowany!) Plik CSS.

+0

To. A także, czy zaglądasz do [Sassa] (http://sass-lang.com/)? Sass to preprocesor CSS, który (między innymi) połączy twoje pliki wejściowe w jeden plik wyjściowy. Po prostu nadaj swoim plikom dodatkowym nazwy plików zaczynając od podkreślenia i kończąc na rozszerzeniu ".scss". Pliki te będą uważane za ["częściowe"] (http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#partials) i nie zostaną skompilowane. Następnie w jednym głównym pliku '@ import' wszystkie twoje częściowe i pozostaniesz z jednym plikiem wyjściowym. Sass eliminuje również wiele błędów i powtórzeń CSS, dzięki czemu Twoje pliki są jeszcze łatwiejsze w utrzymaniu. – thirdender

1

Dla mnie najważniejszym powodem, dla którego zawsze należy unikać wbudowywania stylów, jest przewidywalność w dużych projektach z udziałem kilku projektantów/programistów.

Załóżmy, że dodałeś swój niepowtarzalny styl inline do tej uporządkowanej listy, a następnie inny uczestnik chce dodać ogólną stylizację do wszystkich uporządkowanych list poprzez swój styl mamuta. Ponieważ twoja strona/projekt jest tak duży, prawdopodobnie nigdy nie zauważy twojego jednorazowego ataku hakerskiego, a zatem uwierzy, że nowa stylistyka dotyczy również twojej uporządkowanej listy, nie zdając sobie sprawy, że nadałeś styl swoim inline style.

Ale jeśli jesteś jedyną osobą prowadzącą ten projekt ... śmiało!

1

Umieściłbym to w klasie, ale zdefiniuj klasę w wewnętrznym CSS na stronie. Następnie, jeśli chcesz rozwinąć i używać go w innym miejscu, możesz po prostu przenieść klasę do udostępnionego pliku CSS.

Ponadto, zgadzam się z drugą odpowiedzią, że Firebug lub podobne narzędzie może wyśledzić, skąd pochodzi dany styl, więc "skąd to pochodzi?" oczywiste jest, że nie jest to już ważna sprawa w mojej książce. Dobrze jest robić to, gdy jest trywialnie, ale nie warto inwestować w inne środki.

1

Głosuję za inliningiem. Jeśli ten styl jest naprawdę wyjątkowy dla tej konkretnej instancji, jest to doskonałe miejsce do jego zdefiniowania, a to oszczędza Cię od nadęty i trudny do utrzymania plik CSS, zwłaszcza jeśli masz dużą witrynę i używasz jednego CSS plik dla całej witryny.

Argument, że "CSS jest miejscem, w którym szukam stylów" oznacza po prostu, że jesteś leniwy.

Argument, że znalezienie tej godziny zajęłoby więcej godzin niż w CSS, oznacza, że ​​nie są one bardzo dobrym programistą.

Argument, że ktoś inny będzie chciał globalnie zmienić styl powiedzieć „<li>” później i ominie to wystąpienie jest rzeczywiście dobry powód TO inline go. Jeśli wiesz, że chcesz, aby był to unikalny styl, niż uczynić go takim, albo przez specyfikę w CSS lub w linii, ale głosuję na to drugie.

1

to zrobić, ale tylko ściśle z następującymi zasadami:

1) Reguła stylu inline musi mieć dokładnie jeden nieruchomość

<!--// Acceptable --//--> 
<ol style="list-style-type:lower-alpha"> 

<!--// No!!! --//--> 
<ol style="list-style-type:lower-alpha; font-weight: bold; "> 

2) Każdy element w stylu inline Reguła nie może zawierać potomnych elementów, które mają wbudowaną regułę stylu.

<!--// Acceptable --//--> 
<ol style="list-style-type:lower-alpha"> 
    <li>Item One</li> 
    <li>Item Two</li> 
</ol> 

<!--// No!!! --//--> 
<ol style="list-style-type:lower-alpha;"> 
    <li>Item One</li> 
    <li style="font-size: small;">Item Two</li> 
</ol> 

<!--// Instead (example) --//--> 
<ol class="product-details"> 
    <li class="shortdesc">blah blah</li> 
    <li class="longdesc">Blah Blah Blah</li> 
</ol> 
Powiązane problemy