Как горизонтально центрировать незаказанный список неизвестной ширины?

Это действительно намного менее просто, чем это кажется:-), предложение Nick's является хорошим.

Для начала работы имейте в виду, что любой стоящий метод сравнения будет по существу работать путем преобразования изображений в другую форму - форма, которая облегчает выбирать подобные функции. Обычно, этот материал не делает для очень легкого чтения...


Один из самых простых примеров, о которых я могу думать, просто использует цветовое пространство каждого изображения. Если два изображения имеют дистрибутивы очень схожего цвета, то можно быть довольно уверены, что они показывают то же самое. По крайней мере, у Вас может быть достаточно уверенности отметить его или сделать больше тестирования. Сравнение изображений в цветовом пространстве будет также сопротивляться вещам, таким как вращение, масштабирование и некоторая обрезка. Это не будет, конечно, сопротивляться тяжелой модификации изображения или тяжелой переокраске (и даже простой сдвиг оттенка будет несколько хитер).

http://en.wikipedia.org/wiki/RGB_color_space
http://upvector.com/index.php?section=tutorials&subsection=tutorials/colorspace


Другой пример включает что-то позвонившее, которое Преобразовывает Hough. Это преобразование по существу разлагает изображение на ряд строк. Можно тогда проводить некоторые 'самые сильные' строки в каждом изображении и видеть, выстраиваются ли они в линию. Можно сделать, некоторая дополнительная работа, чтобы попытаться компенсировать вращение и масштабирующийся также - и в этом случае, начиная со сравнения нескольких строк является НАМНОГО меньшим количеством вычислительной работы, чем выполнение того же ко всем изображениям - это не будет настолько плохо.

http://homepages.inf.ed.ac.uk/amos/hough.html
http://rkb.home.cern.ch/rkb/AN16pp/node122.html
http://en.wikipedia.org/wiki/Hough_transform

69
задан philfreo 8 November 2009 в 14:44
поделиться

3 ответа

Решение, если элементы вашего списка могут быть display: inline , довольно просто:

#footer { text-align: center; }
#footer ul { list-style: none; }
#footer ul li { display: inline; }

Однако часто вы должны использовать display: block на вашем

  • s. В этом случае будет работать следующий CSS:

    #footer { width: 100%; overflow: hidden; }
    #footer ul { list-style: none; position: relative; float: left; display: block; left: 50%; }
    #footer ul li { position: relative; float: left; display: block; right: 50%; }
    
  • 164
    ответ дан 24 November 2019 в 13:36
    поделиться

    Это зависит от того, имеете ли вы в виду, что элементы списка находятся ниже предыдущего или справа от предыдущего, например:

    Home
    About
    Contact
    

    или

    Home | About | Contact
    

    Первый, который вы можете сделать просто с помощью:

    #wrapper { width:600px; background: yellow; margin: 0 auto; }
    #footer ul { text-align: center; list-style-type: none; }
    

    Вторую можно сделать так:

    #wrapper { width:600px; background: yellow; margin: 0 auto; }
    #footer ul { text-align: center; list-style-type: none; }
    #footer li { display: inline; }
    #footer a { padding: 2px 12px; background: orange; text-decoration: none; }
    #footer a:hover { background: green; color: yellow; }
    
    8
    ответ дан 24 November 2019 в 13:36
    поделиться

    Попробуйте обернуть список в div и дать этому div свойство inline вместо вашего списка.

    2
    ответ дан 24 November 2019 в 13:36
    поделиться