Forums

The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums CSS search-form

  • This topic is empty.
Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #42338
    Saifadin
    Member

    It’s me again and I’m getting desperate xD
    I’m trying to solve this, but it’s impossible:

    I want a website with a seperated background (50%|50%, in this example black|white). Then I want to add a content-div, with a certain width ON TOP of this div, not under it, like in this example (http://cdpn.io/xagCF).

    I hope its understandble… -.-

    #122718
    simoncmason
    Member

    Hi Saifadin,

    This will work (just replace your left and right classes with the below):

    .right{
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 50%;
    z-index:-1;
    background: #FFF;
    }

    .left{
    position:fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 50%;
    background: #000;
    z-index:-1;
    }

    Also – you don’t need to wrap these – just put them at the top of your markup.

    How it works –
    position: fixed fixes the div in place so it won’t move.
    top : 0 pins it to the top
    bottom: 0 pins it to the bottom
    The div will automatically stretch to fill the space if you position it like this – this is quite a useful trick – you can set top, bottom, left and right to 0 and the element in question will fill the screen – handy for overlays etc will work on a positioned element (fixed or absolute)

    left or right: 0 pins it to the left or right
    left or right: 50% takes it halfway across the screen

    background – just giving it a colour

    z-index – this gives it a stack position -1 ensures it is under the content elements which have z-index auto (always a positive integer) unless you set them otherwise

    Bear in mind this background will always be in place – i.e. it won’t scroll.

    Hope that helps

    #122719
    Paulie_D
    Member

    Use a linear gradient as a background?

    #122720
    Paulie_D
    Member

    As always using absolute position should be your last option.

    http://codepen.io/Paulie-D/pen/sqKIb

    #122763
    simoncmason
    Member

    Good call on the linear gradient. It won’t work on IE9 and below though.

    #122766
    Paulie_D
    Member

    >It won’t work on IE9 and below though.

    Fallback with a bg png though.

    #122814
    Saifadin
    Member

    That’s great guys, you are awesome. I used Linear gradient, like Paulie_D stated. Maybe I should read more about gradients ;)

    Another question:

    I want the text-area of the search to open, after I click on the search-button. To sum it up:

    click on search-button -> text area ease-in to the left

    Does that work with CSS or whats the best way? :/

    #122840
    simoncmason
    Member

    Are you using jQuery on your site? If so you could simply toggle a class on click:

    // Add a class to the search icon when clicked
    $(‘#viewSearch’).click(function() {
    $(this).toggleClass(“searchOpen”);
    });

    Then hook your animation to this class which you can do by changing the width from 0 to 50% for example and transitioning the change

    Example on CodePen here: http://cdpn.io/bqgta

Viewing 8 posts - 1 through 8 (of 8 total)
  • The forum ‘CSS’ is closed to new topics and replies.