2011-06-25 11 views
5

Mam obraz CC-BY, którego używam jako tło, wprowadzony przez CSS. Ten obraz jest wyłącznie dla jego wyglądu i zdecydowanie nie jest zadowolony. Muszę umieścić gdzieś na tym obrazie atrybucję i oczywiście najłatwiej byłoby uczynić to przypisanie linkiem do osoby, która dostarczyła obraz. Jednak tak naprawdę nie chcę umieszczać tekstu linku w moim kodzie HTML, ponieważ dzieli on rzeczywistą treść i prezentację (link do atrybucji jest rzeczywiście częścią prezentacji, powiedziałbym, ponieważ jeśli przeglądasz stronę bez obrazu tła , naprawdę nie chciałbyś tego zobaczyć).Czy istnieje dobry sposób na przypisanie obrazu tła w warstwie prezentacji?

Czy jest jakiś sposób, aby uzyskać tutaj oddzielenie prezentacji i treści?

Mój obecny kod wygląda to mniej więcej tak


<div class='backgrounded'> 
    <div class='content'><h1>Some stuff here</h1></div> 
    <div class='attribution'> 
    Image from <a href='http://example.com/image'>Lovely CC-BY person</a> 
    </div> 
</div> 

a CSS:


div.backgrounded { 
    background: url(/images/an_image.jpg); 
} 
div.attribution { 
    color: #ffffff; 
    float: right; 
} 

Ma to ujęcie w treści, gdzie wolałbym nie mieć.

Inne rzeczy mam uwzględnić, obejmują:

  • Umieszczenie ujęcie w samej obrazu. Rozwiązuje to problem separacji kodu, ale mój obraz jest ładnym szerokim położonym po lewej stronie, więc jest wystarczająco dużo tła dla szerokiego okna przeglądarki. Prawy dolny róg obrazu jest prawie zawsze niewidoczny. Nie widzę sposobu, w jaki mogę uczynić to przypisanie linkiem.

  • Dokonywanie obraz zawierający tekst atrybucji i oddanie, że jeżeli obecny jest przypisanie, kolejny w tle, ale na górnym Chyba mogę zrobić to połączenie przy użyciu JavaScript. Wygląda na to, że ma się dużo bzika.

Czy istnieje wyjście z tego, w którym mój obraz jest określony tylko w CSS? A może nie, jaki jest najlepszy sposób na porządne rozdzielenie elementów, aby na przykład obraz mógł zostać zastąpiony bez edytowania kodu HTML?

+1

+1 Interesujące, ale powiedziałbym, że obraz jest częścią treści. Nawet jeśli jest to obraz w tle, nadal jest częścią treści, więc nie byłoby żadnego miksu, gdyby dodać link do atrybucji w kodzie HTML. – JohnP

+0

Witaj JohnP! Problem polega na tym, że obraz nie znajduje się w moich treściach - jest dostarczany tylko przez CSS, więc obecnie część HTML ma przypisanie, ale nie ma rzeczywistego obrazu, a CSS zna obraz, ale nie atrybucję, ani naprawdę chce być tam bez drugiego! –

Odpowiedz

1

komentarz w CSS można zostawić samego:

div.backgrounded { 
    background: url(/images/an_image.jpg); /*Image provided by [name]*/ 
} 

Następnie atrybucji w CSS, ale to nie będzie widoczne na rzeczywistej stronie.

+1

To była moja pierwsza myśl, ale czuję, że może ona zgadzać się z literą licencji, ale jest widoczna tylko dla nas, czytelników, którzy z całą pewnością nie są modalni, a więc uderzają w ducha CC-BY. Moim rozwiązaniem tutaj, aby uniknąć zgadywania, prosząc twórcę działa niezależnie od podejścia OP. – msw

+0

Wydaje się jednak trochę podły, prawda? Idealnie byłoby, gdyby atrybucja była czytelna dla osób przeglądających samą witrynę, a nie tylko w źródle! Myślę, że będę musiał zaakceptować, że atrybucja musi iść w treści HTML. –

1

Odpowiedni bit CC-BY license (w wersji czytelnej) jest

Attribution - Musisz przypisują pracę w sposób określony przez Twórcę lub licencjodawcę (ale w żaden sposób nie sugerujący że wspierają Cię lub używają utworu).

Co prowadzi mnie do przekonania, że ​​jeśli nie zostanie określony sposób, Państwa dyskrecja jest akceptowalna.Myślę, że to wybitnie rozsądne zrobić dla obrazu tła, jak odbywa się na tej stronie: na dole znajdziesz dyskretną

site design/logo © 2011 stack exchange inc; 

które łatwo jest zgodny z duchem CC-BY. Po umieszczeniu wielu kreacji w Internecie jako CC-BY, moja intencja osobista była "proszę, nie udawaj, że to stworzyłeś", co moim zdaniem jest powszechnym użyciem tej licencji.

Ponieważ musisz z definicji mieć informacje o atrybucji, wybrać łatwą trasę i po prostu zapytać twórcę "czy to w porządku?".

+0

Rzeczywiście upuściłem twórcę oryginalnych zdjęć na notatkę, to tylko uprzejme! Nie rozwiązuje to problemu, który próbuję osiągnąć, a mianowicie oddzielenia obaw. Ideałem byłoby móc zmienić obraz tła, który jest po prostu prezentacją (moim zdaniem) bez konieczności zmiany HTML w ogóle. Podejrzewam, że nie ma na to naprawdę dobrego rozwiązania. –

Powiązane problemy