is it possible to have an rtl frameset?

Discussion in 'HTML' started by eyal.herlin, Feb 21, 2007.

  1. eyal.herlin

    eyal.herlin Guest

    i have the following demo code:
    <frameset cols="30%,*">
    <frame src="">
    <frame src="">

    this would render as a 30% frame on the left and the rest in the right
    my question is wether it is possible to use an html or css directive
    to make this frameset render from right to left (so the 30% frame is
    on the right).
    i tried using dir="rtl" and direction:rtl but to no avail.

    thanks alot in advance,
    eyal.herlin, Feb 21, 2007
    1. Advertisements

  2. eyal.herlin

    Steve Pugh Guest

    Did you miss the mandatory <title> element out for the sake of
    simplifying your example or is it also missing from your actual site?

    Invalid in HTML and not recommended in XHTML. Try just <frame> for the
    <frameset cols="*,30%">

    Steve Pugh, Feb 21, 2007
    1. Advertisements

  3. eyal.herlin

    eyal.herlin Guest

    thanks for your points steve.
    the code looks as it does due to both simplicity and the fact that it
    was taken from an xsl source.
    your final solution is the one i am trying to avoid since it would
    require programming to change between 30%,* and *,30% depending on the
    language used (the language can be changed in the application i am
    eyal.herlin, Feb 21, 2007
  4. eyal.herlin

    J.O. Aho Guest

    If you are using server side scripts, you could as easily let the script also
    handle the frames too depending on language.

    It could also be easier to use div-tags instead of frames, then you can let
    load a style sheet depending if you have left or right language.
    J.O. Aho, Feb 21, 2007
  5. eyal.herlin

    eyal.herlin Guest

    would rather avoid that IF possible.
    not currently an option. changing the application to be frameless will
    require alot of work.

    eyal.herlin, Feb 21, 2007
  6. It sounds like it's about time to start.

    Then you are stuck then.

    Go over to the specifications:

    You will find that RTL is applied to the content of a page, not the layout
    of a frameset.

    BTW did you consult with the specs when you decided to invent direction=rtl
    ? :)
    Richard Formby, Feb 21, 2007
  7. eyal.herlin

    eyal.herlin Guest

    went overs the specs (as i probably should have before).
    i didn't see any reference to the dir attribute in the frames section.
    what confuses me is that <html dir="rtl"> is legal so why won't it be
    effective in the context of a frameset?
    but anyhow testing has shown me this does not work as i would hope.
    i will probably change the frames layout programmatically and later on
    move to no frames.
    i never said direction=rtl. i said dir=rtl (html) and direction:rtl
    (css). no hard feelings ;-)
    eyal.herlin, Feb 21, 2007
  8. Scripsit :
    No good reason. When frames were invented by the &evil;, they didn't think
    very much (otherwise they would not have invented frames) and almost surely
    had no idea of internationalization. Later when frames were pushed into a
    formal spec, it was dirty work and people didn't think too much.

    Logically, a dir attribute on <html> _should_ affect the layout direction of
    frames just as it affects the layout direction of tables, and <frameset>
    _should_ allow the dir attribute. But things went differently, and it hasn't
    bother people much since it really affects some multilingual sites only -
    and only if they use frames.
    Why? The more work it takes to get rid of frames, the sooner you should
    start with it. Just make sure you coordinate this with an overall redesign.
    You know, separating content from presentation, moving all styling to CSS,
    using HTML 4.01 Strict, checking accessibility and usability, etc. It's so
    much easier to do a nice redesign once than different redesigns every year.
    Jukka K. Korpela, Feb 21, 2007
  9. eyal.herlin

    eyal.herlin Guest

    thanks alot, u cleared my head and gave me a good direction :)
    eyal.herlin, Feb 21, 2007
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.