How to display items side-by-side without using tables?

后端 未结 9 1852
野性不改
野性不改 2020-12-08 16:14

For example you want to display an image beside a text, usually I would do this:

9条回答
  •  广开言路
    2020-12-08 16:47

    You should float them inside a container that is cleared.

    Example:

    https://jsfiddle.net/W74Z8/504/

    A clean implementation is the "clearfix hack". This is Nicolas Gallagher's version:

    /**
     * For modern browsers
     * 1. The space content is one way to avoid an Opera bug when the
     *    contenteditable attribute is included anywhere else in the document.
     *    Otherwise it causes space to appear at the top and bottom of elements
     *    that are clearfixed.
     * 2. The use of `table` rather than `block` is only necessary if using
     *    `:before` to contain the top-margins of child elements.
     */
    .clearfix:before,
    .clearfix:after {
        content: " "; /* 1 */
        display: table; /* 2 */
    }
    
    .clearfix:after {
        clear: both;
    }
    
    /**
     * For IE 6/7 only
     * Include this rule to trigger hasLayout and contain floats.
     */
    .clearfix {
        *zoom: 1;
    }
    ​
    

提交回复
热议问题