Создайте функцию через MySQLdb

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

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.wrapper {
  text-align : justify;
}

.wrapper > div {
  display: block;
  margin-top: 5px;
}

.header {
  background: lightgreen;
  margin-top: 0;
}

.footer {
  background: #eee;
}

.main > div {
  display: inline-block;
  width: 49%;
  height: 20vh;
  background: #eee;
}
.main:after {
  content:"";
  display:inline-block;
  width:5%;
  height:50px; /* we consider a bigger value than the line-height*/
}
.main {
  margin-bottom:-50px; /*the same value defined in the pseuo element*/
}
<div class="wrapper">
    <div class="header">header</div>
    <div class="main">
       <div class="item">item1</div>
       <div class="item">item2</div>
       <div class="item">item3</div>
       <div class="item">item4</div>
    </div>
    <div class="footer">footer</div>
 </div>

Или используйте трюк font-size:0, чтобы избежать этой лишней строки:

[1116 ]
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.wrapper {
  text-align : justify;
}

.wrapper > div {
  display: block;
  margin-top: 5px;
}

.header {
  background: lightgreen;
  margin-top: 0;
}

.footer {
  background: #eee;
}

.main > div {
  display: inline-block;
  width: 49%;
  height: 20vh;
  background: #eee;
  font-size:initial;
}
.main:after {
  content:"";
  display:inline-block;
  width:5%;
}
.main {
  font-size:0;
}
<div class="wrapper">
    <div class="header">header</div>
    <div class="main">
       <div class="item">item1</div>
       <div class="item">item2</div>
       <div class="item">item3</div>
       <div class="item">item4</div>
    </div>
    <div class="footer">footer</div>
 </div>

15
задан bluish 19 April 2011 в 07:58
поделиться

1 ответ

Команда DELIMITER является оболочкой MySQL встроенный клиент, и он распознается только этой программой (и MySQL Query Browser). Нет необходимости использовать DELIMITER , если вы выполняете операторы SQL напрямую через API.

Цель DELIMITER - помочь вам избежать двусмысленности в отношении завершения CREATE FUNCTION оператор, когда сам оператор может содержать точки с запятой. Это важно в клиенте оболочки, где по умолчанию точка с запятой завершает оператор SQL. Чтобы передать тело функции (или триггера, или процедуры), вам нужно установить терминатор оператора на какой-либо другой символ.

CREATE FUNCTION trivial_func (radius float) 
    RETURNS FLOAT

    BEGIN
    IF radius > 1 THEN
        RETURN 0.0; <-- does this semicolon terminate RETURN or CREATE FUNCTION?
    ELSE
        RETURN 1.0;
    END IF;
END

Поскольку API обычно позволяет отправлять один оператор SQL за раз, нет никакой двусмысленности - Интерфейс знает, что любые точки с запятой внутри тела определения вашей функции не завершают весь оператор CREATE FUNCTION . Поэтому нет необходимости изменять терминатор оператора с помощью DELIMITER .

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

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