Как центрировать абсолютно позиционированный элемент в div?

Сгенерировать строку запроса в PreparedStatement, чтобы число соответствовало количеству элементов в вашем списке. Вот пример:

public void myQuery(List<String> items, int other) {
  ...
  String q4in = generateQsForIn(items.size());
  String sql = "select * from stuff where foo in ( " + q4in + " ) and bar = ?";
  PreparedStatement ps = connection.prepareStatement(sql);
  int i = 1;
  for (String item : items) {
    ps.setString(i++, item);
  }
  ps.setInt(i++, other);
  ResultSet rs = ps.executeQuery();
  ...
}

private String generateQsForIn(int numQs) {
    String items = "";
    for (int i = 0; i < numQs; i++) {
        if (i != 0) items += ", ";
        items += "?";
    }
    return items;
}
990
задан Sebastian Zartner 26 February 2017 в 16:19
поделиться

4 ответа

  
Я занимаюсь централизованным подбором контента!
tum te tum
1298
ответ дан 19 December 2019 в 20:20
поделиться

** БЫСТРО РЕАГИРУЮЩЕЕ РЕШЕНИЕ **

Принятие элемента в отделении, другое отделение

, это решение хорошо работает

<div class="container">
  <div class="center"></div>
</div>

, контейнер может быть любым размером (должен быть родственник положения)

.container {
position: relative;/*important*/
width: 200px;/*any width*/
height: 200px;/*any height*/
background: red;
}

, элемент ( отделение ) может также быть любым размером (должен быть меньше, чем контейнер )

.center {
position: absolute;/*important*/
top: 50%;/*position Y halfway in*/
left: 50%;/*position X halfway in*/
transform: translate(-50%,-50%);/*move it halfway back(x,y)*/
width: 100px;/*any width*/
height: 100px;/*any height*/
background: blue;
}

, результат будет похож на это. Выполните фрагмент кода

.container {
	position: relative;
	width: 200px;
	height: 200px;
	background: red;
}

.center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100px;
	height: 100px;
	background: blue;
}
<div class="container">
	<div class="center"></div>
</div>

, я нашел это очень полезным

0
ответ дан RealMJDev 4 November 2019 в 06:24
поделиться
  • 1
    Ничто в вопросе не говорит об удалении другой code' s наблюдатели. – Glenn Maynard 11 December 2012 в 18:21

Heres a useful jQuery plugin to do this. Found here. I don't think it's possible purely with CSS

/**
 * @author: Suissa
 * @name: Absolute Center
 * @date: 2007-10-09
 */
jQuery.fn.center = function() {
    return this.each(function(){
            var el = $(this);
            var h = el.height();
            var w = el.width();
            var w_box = $(window).width();
            var h_box = $(window).height(); 
            var w_total = (w_box - w)/2; //400
            var h_total = (h_box - h)/2;
            var css = {"position": 'absolute', "left": w_total+"px", "top":
h_total+"px"};
            el.css(css)
    });
};
5
ответ дан 19 December 2019 в 20:20
поделиться

Насколько мне известно, этого невозможно достичь для неизвестной ширины.

Вы можете - если это работает в вашем сценарии - абсолютно позиционировать невидимый элемент со 100% шириной и высотой , и выровняйте элемент по центру, используя margin: auto и, возможно, vertical-align. В противном случае для этого вам понадобится Javascript.

7
ответ дан 19 December 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: