[TYPO3-content-rendering] [TYPO3-core] RFC #8070: Feature: CSS styled content / scalable rendering of images
Ralf Hettinger
ng at ralfhettinger.de
Fri Dec 12 10:35:41 CET 2008
Hi Franz,
thanks for the examples; I must admit that this looks not as complicated
as I first thought in Core list - though I feel it doesn't look just
plain simple as well.
I hopefully will find the time to play a bit with these idea.
Btw: Do you think the following should be taken into account somehow? I
would think the topic is weakly related...
http://bugs.typo3.org/view.php?id=5186
Cheers
Ralf
Am 11.12.2008 12:49 schrieb Franz Koch:
> Hi guys,
>
>>>>> Masi
>>>> as i see there is one place where calculation is need: textpic
>>>> For calculation px are needed. For using em, a scalefactor is needed to
>>>> recalculate to px. So % doesn't make sense here.
>>>>
>>>> At any other places you can use bananas as dimension as it's only
>>>> passed
>>>> through.
>>>
>>> I'd like to discuss possible HTML/CSS setups and then see what TYPO3 can
>>> achieve.
>>>
>>> I'm not sure if Ralf and Franz are trying to do the same thing. But I
>>> hope that different approaches can be implemented easily in one sweep.
>
> Here is a example how images could be rendered in % although the
> internal calculation is of course based on a pixel value as reference.
> But the calculation of the image width itself is not the big deal, but
> the propper css-dimensions for the wrappers. But here is how it could
> work although the configuration stuff I'm writing is just some example
> stuff:
>
> --------------------
>
> Example:
> # configuration
> styles.content.imgtext {
> width {
> renderUnit = %
> # with of your content area in px as calculation ref
> referenceValue = 500
> # this is defining the internal calculation method
> referenceType = pixel
> # defining in which unit values from the with and height field
> from the CE should be treated
> defaultInputUnit = %
> }
>
> colSpace = 10px
>
> height {
> renderUnit = em
> referenceValue = 0.1
> referenceType = scalingFactor
> defaultInputUnit = px
> }
> }
>
> # content to be rendered
> Let's say you've got a "text with image" CE with 3 images in 3 columns
> and define a width of 50% (or 250px), the html would look something like:
>
> # result
> <div class="csc-wrapper" width="50%">
> <div class="column first" style="width:29%;margin-right:4%"><img
> src="..." alt="..." /></div>
> <div class="column" style="width:29%;margin-right:4%"><img src="..."
> alt="..." /></div>
> <div class="column last" style="width:29%"><img src="..." alt="..."
> /></div>
> </div>
>
> # explanation
> - The calculated pixel with of a image would be 63px
> => 250px / columns - ((columns -1)*colSpace)
>
> - to ensure that the margin between the images is visually always the
> same, we need to calculate it depending on the wrapper width.
> => 100% / 250px * 10px (colSpace) = 4%
>
> - the column width get calculated this way:
> => 100%(#inner wrapper width) / columns - ((columns -1)* 4 (#%
> calculated colSpace))
>
>
> -------------
>
> So it's not much different from current rendering. The only thing to do
> additionally is to calculate the colSpace.
>
> By rendering the columnwidth in percent, all you need to do to have
> pixel width back is to set the width of the wrapper to a fix pixel
> value. Same for em - you only need to set the width of the wrapper to em
> in order to scale everything inside.
>
More information about the TYPO3-project-content-rendering
mailing list