Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS]margines dla tekstu bez stosowania kolejnego diva.
GoOx
post 17.07.2012, 17:56:55
Post #1





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cześć,

Jak w temacie, czy istanieje jakiś sposób w css zrobić aby można było utworzyć margines dla tekstu dla diva?

padding odpada ponieważ tłem jest obrazek i całośc by była nieładna estetycznie.
Go to the top of the page
+Quote Post
b4rt3kk
post 17.07.2012, 18:06:03
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Ustalasz padding i pomniejszasz wymiary diva o ten padding. Przykładowo jeśli obrazek tła ma 200x200px i właśnie takie nadałeś width i height, to ustalając równomierny padding, dajmy na to 20px musisz odjąć tyle z każdej strony i nadać wymiar diva 160x160px. Drugim sposobem jest background-position: x y tak samo pozycję możesz ustalić samym background.

Ten post edytował b4rt3kk 17.07.2012, 18:08:23


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
GoOx
post 17.07.2012, 18:13:40
Post #3





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Dzięki działa.

Ale chyba jest problem ponieważ tekst to jest odsyłacz a gdy padding zabiera to pole zmniajszamy obrazek i trzeba celować praktycznie w napis aby kliknąc w odsyłacz.
Go to the top of the page
+Quote Post
b4rt3kk
post 17.07.2012, 18:17:48
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Jeśli dobrze rozumiem to div jest tłem buttona? Prościej zrobić z odnośnika (a) blok i nadać mu tło:

  1. a {
  2. display: block;
  3. width: 100px;
  4. height: 35px;
  5. padding: 5px;
  6. background: url(tlo.jpg);
  7. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
GoOx
post 17.07.2012, 18:19:12
Post #5





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


To nawet nie jest głupi pomysł ale jak wypozycjonować ten "a" na tle obrazka? I zrobić tak aby tło obrazka też całe tło było tym odsyłaczem.

Ten post edytował GoOx 17.07.2012, 18:22:05
Go to the top of the page
+Quote Post
b4rt3kk
post 17.07.2012, 18:24:39
Post #6





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Jeśli z a zrobisz display: block wtedy jest to odnośnik w postaci bloku, np o wymiarach 200x50px i wtedy gdziekolwiek by nie kliknąć na nim, nie musi być na tekście to jest to cały czas odnośnik.

To tło co miałeś w divie dajesz w a, nadajesz mu odpowiednie wymiary.

Najlepiej by było jakbyś podał fragment kodu HTML+CSS, bo tak to są tylko moje wyobrażenia. smile.gif



--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
GoOx
post 17.07.2012, 18:55:52
Post #7





Grupa: Zarejestrowani
Postów: 329
Pomógł: 6
Dołączył: 23.11.2011
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Mam coś takiego:

  1. <a href='index' class='p_ziemia'>Strona główna</a>


CSS:

  1. a .p_ziemia {
  2. background-image: url('../images/inp_ziemia.png');
  3. width:130px;
  4. height:30px;
  5. display:block;
  6. cursor:pointer;
  7. color:f4f4f4;
  8. font-weight:800;
  9. text-decoration:none;
  10. }
  11.  
  12. a .p_ziemia:hover {
  13. background-image: url('../images/inp_ziemia_hover.png');
  14. width:130px;
  15. height:30px;
  16. display:block;
  17. cursor:pointer;
  18. color:f4f4f4;
  19. font-weight:800;
  20. text-decoration:none;
  21. }


Teraz nawet obrazek nie jest wyświetlany.

Dobra już sobie poradziłem.
Go to the top of the page
+Quote Post
b4rt3kk
post 17.07.2012, 18:56:19
Post #8





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Przyczyną tego, że obrazek się nie wyświetla może być nieprawidłowa ścieżka?

  1. a .p_ziemia {
  2. background: transparent url('../images/inp_ziemia.png') top left no-repeat;
  3. width: 130px;
  4. height: 30px;
  5. display: block;
  6. cursor:pointer;
  7. color: f4f4f4;
  8. font-weight: 800;
  9. text-decoration:none;
  10. }
  11.  
  12. a .p_ziemia:hover {
  13. background-image: url('../images/inp_ziemia_hover.png');
  14. }


Nie musisz powtarzać dla hoverów wszystkich tych własności jak dla zwykłego a, wystarczy tło, poza tym lepszym rozwiązaniem jest jeden obrazek pod drugim i dla podświetlenia robisz tylko:

  1. a:hover {
  2. background-position: bottom left;
  3. }


tak dla przykładu.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
sunpietro
post 17.07.2012, 20:47:32
Post #9





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

Ostrzeżenie: (0%)
-----


To, że obrazek się nie wyświetla jest winą tego że źle napisałeś selektory. Powinno być a.p_ziemia a nie a .p_ziemia
Takie małe wtrącenie do pierwszych postów. zawsze możesz też wykorzystać:
Kod
* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

i możesz zapomnieć o wyliczaniu szerokości z uwzględnieniem paddingów wink.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 20:29