Согласно решению линейного градиента Гарри (ответил 14 октября 15:15 в 9:55), в нем говорится, что фон непрозрачности невозможен, я пробовал его и да, это не так.
Но! Я нашел обходное решение. Нет, это не супер оптимизировано, но это сработало. Итак, вот мое решение. Поскольку Гарри не использует псевдоэлемент, мы можем достичь этого, создав его.
Установите положение относительно контейнера и создайте псевдоэлемент с теми же свойствами линейного градиента. Другими словами, просто клонируйте его. Затем поставьте прозрачный фон для контейнера и скажем черный фон для клона. Поместите на него абсолютную позицию, z-индекс -1 и значение непрозрачности (т.е. 50%). Он выполнит эту работу. Опять же это обходной путь, и он не идеален, но он работает отлично.
.cut-corner {
position: relative;
color: white;
background-repeat: no-repeat;
background-image: linear-gradient(white, white), linear-gradient(white, white), linear-gradient(white, white), linear-gradient(white, white), linear-gradient(to bottom left, transparent calc(50% - 1px), white calc(50% - 1px), white calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(transparent, transparent), linear-gradient(transparent, transparent);
background-size: 2px 100%, 2px 100%, 100% 2px, 100% 2px, 25px 25px, 100% 100%, 100% 100%;
background-position: 0% 0%, 100% 25px, -25px 0%, 0px 100%, 100% 0%, -25px 0%, 100% 25px;
}
.cut-corner:after {
content: "";
position: absolute;
left: 0;
bottom: 0;
right: 0;
top: 0;
z-index: -1;
opacity: 0.5;
background-repeat: no-repeat;
background-image: linear-gradient(white, white), linear-gradient(white, white), linear-gradient(white, white), linear-gradient(white, white), linear-gradient(to bottom left, transparent calc(50% - 1px), white calc(50% - 1px), white calc(50% + 1px), black calc(50% + 1px)), linear-gradient(black, black), linear-gradient(black, black);
background-size: 2px 100%, 2px 100%, 100% 2px, 100% 2px, 25px 25px, 100% 100%, 100% 100%;
background-position: 0% 0%, 100% 25px, -25px 0%, 0px 100%, 100% 0%, -25px 0%, 100% 25px;
}
/* Just for demo */
div {
padding: 10px;
}
body{
background-image: radial-gradient(circle, #3F9CBA 0%, #153346 100%);
}
<div class="cut-corner">
Some content<br>
Some content<br>
Some content<br>
Some content
</div>
В вашем INSERT
запросе вы ссылаетесь на foreign key
(идентификатор 0), который не существует -> ограничение не выполнено
Я видел в ваших изменениях, прежде чем откатывать его, ваш CREATE TABLE
сценарий.
Поле, содержащее ссылку на родителя, было создано следующим образом:
`id_processo_padre` int(11) NOT NULL DEFAULT '1'
Я предлагаю вам отредактировать это поле, чтобы сделать его обнуляемым:
ALTER TABLE `mTable` MODIFY `id_processo_padre` int(11) NULL;
Это позволит вам INSERT
первого родителя верхнего уровня (или любого родителя верхнего уровня )
insert into mTable(record_name, self_fk, ...)
values('processo prova', NULL, ...);
-- ^--^----------This
Проверьте сами:
Схема (MySQL) v5.7)
CREATE TABLE test
(
id INT(6) NOT NULL PRIMARY KEY AUTO_INCREMENT,
parent_id INT(6) NULL,
someData VARCHAR(255),
FOREIGN KEY (parent_id) REFERENCES test(id)
);
INSERT INTO test VALUES (default, null, "parent"),
(default, 1, "child1_1"),
(default, 1, "child1_2"),
(default, 3, "child2_2");
Запрос № 1
SELECT t1.*, t2.someData AS "My parent's name" FROM test t1
LEFT JOIN test t2
ON t2.id = t1.parent_id
ORDER BY t1.id ASC;
Выход
| id | parent_id | someData | My parent's name |
| --- | --------- | -------- | ---------------- |
| 1 | null | parent | null |
| 2 | 1 | child1_1 | parent |
| 3 | 1 | child1_2 | parent |
| 4 | 3 | child2_2 | child1_2 |