How might I force a floating DIV to match the height of another floating DIV?

前端 未结 11 650
悲&欢浪女
悲&欢浪女 2020-12-02 04:59

My HTML code is just dividing the pages into two columns, 65%,35% respectively.

11条回答
  •  再見小時候
    2020-12-02 05:45

    Having had the same sort of problem as well, requiring three divs next to each other with different content, with right-borders to 'seperate' them, the only solution that worked was a slightly modified version of the jQuery option in another answer. Remember you also need the script found here.

    Below is my slightly modified version of the script, which just allows for a true min-height setting (as I needed my boxes to be at least a certain height).

    /*--------------------------------------------------------------------
     * JQuery Plugin: "EqualHeights"
     * by:    Scott Jehl, Todd Parker, Maggie Costello Wachs (http://www.filamentgroup.com)
     *
     * Copyright (c) 2008 Filament Group
     * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
     *
     * Description:   Compares the heights or widths of the top-level children of a provided element
                      and sets their min-height to the tallest height (or width to widest width). Sets in em units
                      by default if pxToEm() method is available.
     * Dependencies: jQuery library, pxToEm method    (article:
                      http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/)
     * Usage Example: $(element).equalHeights();
                      Optional: to set min-height in px, pass a true argument: $(element).equalHeights(true);
                      Optional: to specify an actual min-height (in px), pass an integer value, regardless of previous parameter: $(element).equalHeights(false,150);
     * Version: 2.0, 08.01.2008
    --------------------------------------------------------------------*/
    
    $.fn.equalHeights = function(px,minheightval) {
        $(this).each(function(){
            if (minheightval != undefined) { 
                var currentTallest = minheightval;    
            } 
            else { 
                var currentTallest = 0;
            }
            $(this).children().each(function(i){
                if ($(this).height() > currentTallest) { 
                    currentTallest = $(this).height();
                }
            });
            if (!px || !Number.prototype.pxToEm) 
                currentTallest = currentTallest.pxToEm(); //Use ems unless px is specified.
            // For Internet Explorer 6, set height since min-height isn't supported.
            if ($.browser.msie && $.browser.version == 6.0) { 
                $(this).children().css({'height': currentTallest});
            }
            $(this).children().css({'min-height': currentTallest});
        });
        return this;
    };
    

    It works like a charm and doesn't slow anything down :)

提交回复
热议问题