Antworten auf deine Fragen:
Neues Thema erstellen

Bilder dynamisch mit der restlichen Seite skalieren

Triggertrix

Filmwechsler

Moin,

viellicht geht das gar nicht (glaube aber schon) oder das ist eine absolute Anfängerfrage und es wird jetzt peinlich :D
Wie auch immer, ich weiß nicht wie, also frag ich mal.

Ich habe das Grundgerüst einer Seite geschaffen, die sich dynamisch anpasst. Wenn ich jetzt als Content, Bilder in den Text einbaue, werden die nur absolut dargestellt, also in der Höhe x Breite wie angegeben. Mit Prozentangaben habe ichs auch schon probiert, macht aber nur merkwürdige Sachen.
Ich glaube so etwas schon bei anderen Seiten gesehen zu haben, also muss es tendenziell möglich sein, weiss jemand wie man das macht?

Oh, bevor mir das jemand rät, ich habe Google so lange gequält, bis mir keine Anfragen mehr eingefallen sind… gut es waren in der Tat nicht so viele Ideen die ich zum suchen hatte…

Dank & Gruss
 

owieortho

Aktives Mitglied

AW: Bilder dynamisch mit der restlichen Seite skalieren

geschieht nichts merkwürdiges.
Ich verwende übrigens bei google gerne englische Suchbegriffe, die Ergibnisauswahl ist größer und außerdem sind die Begrifflichkeiten in html und css auch in englisch. Oben genannte Seite war dann mit "dynamic width image" schnell gefunden.

O.
 

Triggertrix

Filmwechsler

AW: Bilder dynamisch mit der restlichen Seite skalieren

Habe eben gerade, bevor die Mail kam, jene Lösung gefunden:
Code:
#spalten p img {
  width: 100%;
}


Wie vermutet, doofe Anfängerfrage……

Damit klappt es einwandfrei……
Falls jemand dasselbe Problem hat ;o)

Trotzdem Danke
 

mindraper

me[code].Java(Script)

AW: Bilder dynamisch mit der restlichen Seite skalieren

hi

@owieortho: ich finde deine verlinkung etwas unglücklich gewählt. dimensionsangaben von elementen sollten im sinne der trennung von struktur und darstellung besser via css erfolgen statt über attribute.

@triggertrix: wenn du verhindern möchtest, dass deine bilder "aufgeblasen" werden, was dazu führt dass dein browser die bilder interpoliert (und einige können das nicht so gut!), solltest du im css besser folgendes schreiben:

Code:
#spalten p img {
   max-width: 100%; /* anpassen falls nötig! */
   max-height: 100%; /* ebenfalls */
   width: auto;
   height: auto;
}

nur, falls nochmal jemand hier hinein schaut :)

hoffe das hilft
 

Triggertrix

Filmwechsler

AW: Bilder dynamisch mit der restlichen Seite skalieren

weiß nicht, in jedem Falle erst mal Danke!

Da ich das ja in Columns gesetzt habe in das Bild da mit drin rum fliegen soll, ist meine Auszeichnung so:

Code:
#spalten p {
	-moz-column-count:2; /* Firefox */
	-webkit-column-count:2; /* Safari and Chrome */
	column-count: 2;
	-moz-column-gap:2em; /* Firefox */
	-webkit-column-gap:2em; /* Safari and Chrome */
	column-gap: 2em;
	line-height: 1.8em;
	 margin: 0 0 0.9em;
}
#spalten p img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

ruf ich das dann in Safari auf, bekomme ich die Ausgabe (wenn ich mir die Element-Info anzeigen lasse):
Code:
<img style="-webkit-user-select: none"……
nach dem was ich bei #spalten p angegeben habe, müsste ich das dann doch auch so in der Art (also die anderen Browser berücksichtigend) da auch notieren, oder ist das Wurscht?

Dank & Gruss
 

mindraper

me[code].Java(Script)

AW: Bilder dynamisch mit der restlichen Seite skalieren

hi

Code:
<img style="-webkit-user-select: none"……

bedeutet, dass der user dieses element nicht markieren kann (bspl: selektieren mit gedrückter maustaste, dann strg + c / apfel + c zum kopieren). dem user würde also in einem kopierten teiltext das bild nicht zur verfügung stehen (zumindest habe ich die definition dieser angabe so verstanden – falls unzutreffend bitte steicheln ;)).

frage wäre: wieso dem user das kopieren verbieten?

nach dem was ich bei #spalten p angegeben habe, müsste ich das dann doch auch so in der Art (also die anderen Browser berücksichtigend) da auch notieren, oder ist das Wurscht?

entschuldigung, aber ich verstehe die frage nicht. was möchtest du wo notieren?

generell: zu versuchen, dem user die interaktion mit einer seite einzuschränken ist i. d. r. ein ziemlich schlechter ansatz, weil sich – gerade im www – niemand gerne etwas vorschreiben lässt. es gibt nur sehr wenige teilbereiche, in denen user bereit sind, eine einschränkung auf einer website zu akzeptieren. das betrifft beispielsweise eine galerie eines künstlers, der seine bilder zur schau stellt und verkauft. allerdings ist auch hier keine 100%ige akzeptanz garantiert, selbst wenn der seiteneigentümer eine absolut plausible erklärung abgibt, wieso die funktionalität eingeschränkt wurde!
ein sinnvoller einsatz von der einschränkung dinge zu kopieren wäre nur bei inhalten gegeben, die der user nicht drucken kann (was die meisten tun möchten), z. b. bei einem flashfilm. von dieser einschränkung sind bilder definitiv nicht betroffen.
das geheimnis darin, herauszufinden welche inhalte selektierbar bleiben sollten und welche nicht, liegt wie so oft darin, sich in die lage eines users zu versetzen und zu überlegen, wieso er bestimmte inhalte kopieren möchte. evtl. handelt es sich dabei um einen text zu einer thematik, den der user gut findet, weil dieser die sache "auf den punkt bringt" und der user den text gerne als referenz nutzen/angeben möchte.

kurzum: an deiner stelle würde ich genau abwägen ob es sinnvoll ist, css-angaben wie "-webkit-user-select: none" einzusetzen (was übrigens zum einen proprietär ist und zum anderen nicht bedeutet, dass andere browser ein äquivalent anbieten!).

gruß
 

Triggertrix

Filmwechsler

AW: Bilder dynamisch mit der restlichen Seite skalieren

öhm nö… da sprechen wir arg aneinander vorbei ;o)
Es liegt mir fern zu reglementieren, wer was von der Site kopieren kann oder darf……
In einem anderen Post, fragte ich wie ich den Text auf der Site in Kolumnen laufen lasse und eine Antwort war, das derjenige das sehen könne und nicht mein Problem verstünde, sagte aber ich müsse die Attribute für WebKit und Mozilla setzen, damit es auch da zu sehen sei,
s.h.
Code:
-moz-column-count:2; /* Firefox */
	-webkit-column-count:2; /* Safari and Chrome */
	column-count: 2;
	-moz-column-gap:2em; /* Firefox */
	-webkit-column-gap:2em; /* Safari and Chrome */

und da ich zwar das richtige Ergebnis im Safari sehe, aber eben den Tag (Wenn ich mir in Safari die Element-Info anzeigen lasse)
Code:
<img style="-webkit-user-select: none"……
den ich nirgends notiert habe, ist meine Frage ob ich das nicht wenn ich das oben drüber explizit für andere Browser ausgezeichnet habe, das auch in dem img Tag tun müsste und falls ja, was da hin muss.

Pfffff ich will doch niemand nix verbieten……… heiss ich Sony ;o)
 

mindraper

me[code].Java(Script)

AW: Bilder dynamisch mit der restlichen Seite skalieren

ok, ich glaube ich hab's :)

ich möchte zunächst anmerken, dass ich mich noch nicht eingehend mit css3-columns auseinandergesetzt habe – aus dem einfachen grund, dass zur zeit meines wissens nach nur ff (prefix), sarari (prefix) und chrome (prefix) dieses modul unterstützen und es daher für die produktion noch nicht geeignet erscheint.

das column-modul bietet 2 möglichkeiten, spalten zu definieren:
> (prefix)column-count: [int]
> (prefix)column-width: [auto|int|percent]

ich habe unterschiedliche markups getestet (chrome 21, ff 14, safari 5.1):

variante mA)
HTML:
<div id="testee-container">
	<img src="media/images/test.jpg" alt="">
	<p>Lorem ipsum... [gekürzt] ...dui.</p>
</div><!-- /end testee-container -->

variante mB)
HTML:
<div id="testee-container">
	<p><img src="media/images/test.jpg" alt="">Lorem ipsum... [gekürzt] ...dui.</p>
</div><!-- /end testee-container -->

die 2 getesteten css-möglichkeiten:

variante cA)
Code:
#testee-container {
	-webkit-column-count: 2;
	-moz-column-count: 2;
	column-count: 2;
	-webkit-column-gap: 24px;
	-moz-column-gap: 24px;
	column-gap: 24px;
}

variante cB)
Code:
#testee-container {
	-webkit-column-width: 150px;
	-moz-column-width: 150px;
	column-width: 150px;
	-webkit-column-gap: 24px;
	-moz-column-gap: 24px;
	column-gap: 24px;
}

die css-angaben für die darstellung des bildes sind immer gleich (höhendefinitionen aus faulheit weggelassen):
Code:
#testee-container img {
	display: block;
	max-width: 100%;
	width: auto;
}

ein kurzer test mit sowohl der einen als auch der anderen möglichkeit brachte mich zum folgenden ergebnis:

1) es genügt vollkommen, die anzahl an spalten auf dem elternelement des <p>-tags zu setzen, sowohl für die funktionalität der teilung des textuellen inhaltes in spalten als auch das behandeln von bildern (motto: "stelle bilder, sofern nicht explizit anders angegeben, in einer [der] spalte[n] dar").

2) die größe des bildes, sofern wie von mir in einem vorhergehenden post beschrieben, nimmt bei 100% die breite einer spalte ein. das bild muss als block-element deklariert werden (standard: inline-element). wird die spalte größer als die kantenlänge des bildes, wird das bild wie erwartet nicht vergrößert.

3) das zuweisen der eigenschaft "-webkit-user-select: none" hat für das verhalten des bildes innerhalb der darstellung keinerlei auswirkung. wie in meinem verhergehenden post beschrieben, dient das nur dazu, bestimmte elemente von einer möglichen selektion auszuschließen.

folgende ergebnisse bekam ich durch verändern des oben beschriebenen markups. fett ausgezeichnet sind die bezüge zu dem jeweiligen markup:

4)
{mA} sofern das bild am anfang/ende der spalten sitzt, wird es auch genau dort dargestellt.
{mB}falls das bild an einer anderen stelle des absatzes steht, ist es nicht möglich zu steuern, in welcher der spalten das bild dargestellt wird. weiterhin ist es nicht möglich, das bild über 2 spalten laufen zu lassen, sofern es innerhalb des <p>-tags gesetzt wird.
{mA}wird das bild seitens des markups VOR oder HINTER dem <p>-tag definiert, stellt der browser es als teil einer spalte dar (sofern nicht anders definiert – derzeit scheint [prefix]column-span nur in safari (prefix) und chrome (prefix) und mit dem wert "all" zu funktionieren. firefox beachtet die angabe trotz prefix nicht).

ich hoffe, das war erhellend für dich.

gruß
 
Zuletzt bearbeitet:

Triggertrix

Filmwechsler

AW: Bilder dynamisch mit der restlichen Seite skalieren

Bedingt war das erhellend ;o)

Ich kann die Bilder schon so einfügen das sie halbwegs an der Position stehen wie ich das gerne hätte.
s.z.B.h.
Was ich allerdings nicht ums verrecken hin bekomme, ist es die Bilder nach rechts oder links zu schubsen, also denen eine eindeutige Position zuzuweisen, dann zerschiesst es die Spalten…… sobald ich Padding oder Margin zuweise, werden die Spalten asymmetrisch, sprich die Linke fängt höher an als die rechte…… und den Text wirklich um die Bilder fliessen lassen, was ja das eigentliche Ziel wäre…… ach das will erst gar nicht hoffen ;o)
 

Triggertrix

Filmwechsler

AW: Bilder dynamisch mit der restlichen Seite skalieren

Hm……???

Klassen habe ich:
Code:
#main-block img.floatLeft {
	float:left;
	margin:1em;
	display: block;
}

#main-block img.floatRight {
	float:right;
	margin:1em;
	display: block;
}

Und sobald ich die Klasse einem Bild zuweise, passiert das hier:
ähhhmmm…… ich spare es mir mal das Bild hoch zu laden, denn es ist sehr nah an Deinem und ich hatte vorhin etwa 1 Stunde genau damit rum gebarcht, bis ich eben dachte, ach was solle, dann frag ich halt nomma…… und jetzt gehorcht die Site…… ich verstehe es nicht, solange es aber so ist, will und muss ich das eigentlich aber auch nicht :lol:

Und validiere bitte deine CSS, da hats ein paar Flüchtigkeitsfehler...
Auch auf die Gefahr mich zu blamieren, das ist meine erste wirklich von Hand gebaute Seite, wie genau mache ich das?

Dank und Gruss
 

cebito

undefined

AW: Bilder dynamisch mit der restlichen Seite skalieren

Auch auf die Gefahr mich zu blamieren, das ist meine erste wirklich von Hand gebaute Seite, wie genau mache ich das?
Indem du erst mal in der Fehlerkonsole deines Browsers schaust, mein FF sagt das:



column-count und -gap kannst du ignorieren, bei dem Rest musst du nochmal ran...
 

Triggertrix

Filmwechsler

AW: Bilder dynamisch mit der restlichen Seite skalieren

Hi, hi, was es nicht für praktische Sachen in diesem ominösen Internet gibt von dem alle immer reden ;o)

Also die meisten Fehler hab ich wohl ausgemerzt.
Mein Safari erzählt mir was das er kein "loading2.gif" laden kann…… das hatte ich aber nie aufm Server und im CSS auch nicht??? Hm……
Den anderen Fehler im Navi, das der Cursor als Hand dargestellt werden soll, wüsste ich nicht anders auszudrücken… das Headerlogo hab ich ja genauso getagt und da ist es wohl ok……
 

cebito

undefined

AW: Bilder dynamisch mit der restlichen Seite skalieren

Versuch es mal mit "pointer" ;) http://www.css4you.de/cursor.html, die andere Hand (Header) kommt sowieso, ist bei Links nun mal Standard.


Edith sagt sie ist begeistert. Noch nie hat sie gesehen, das jemand so schnell Tipps umsetzt und diese auch gleich noch online aktualisiert.
So macht Helfen Spass - musste auch mal gesagt werden!
 
Zuletzt bearbeitet:

Triggertrix

Filmwechsler

AW: Bilder dynamisch mit der restlichen Seite skalieren

;o) fein, Danke

Das mit dem loading gif hab ich jetzt auch in FF…… schon ein bisschen merkwürdig
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.634
Beiträge
1.538.448
Mitglieder
67.555
Neuestes Mitglied
scheflo
Oben