По идее стоит рассмотреть еще один элемент, на который вы накладываете обложку и делаете этот элемент в два раза больше. Например, вы можете использовать псевдоэлемент.
Я сохранил переполнение, чтобы увидеть результат:
.box {
width:150px;
height:150px;
border:2px solid;
margin:100px;
position:relative;
/* overflow:hidden;*/
}
.box:before {
content:"";
position:absolute;
z-index:-1;
top:50%;
left:50%;
background:var(--img) center/cover no-repeat;
width:200%;
height:200%;
transform:translate(-50%,-50%);
border:2px solid red;
}
<div class="box" style="--img:url(https://picsum.photos/200/350?image=1069)"></div>
То же со шкалой:
.box {
width:150px;
height:150px;
border:2px solid;
margin:100px;
position:relative;
/* overflow:hidden;*/
}
.box:before {
content:"";
position:absolute;
z-index:-1;
top:0;
left:0;
background:var(--img) center/cover no-repeat;
width:100%;
height:100%;
transform:scale(2);
border:2px solid red;
}
<div class="box" style="--img:url(https://picsum.photos/200/350?image=1069)"></div>
Существует (по крайней мере) два способа сделать это:
Используйте массив и разверните его использование "${array[@]}"
:
bar() {
local i=0 args=()
for arg in "$@"
do
args[$i]="prefix $arg"
((++i))
done
foo "${args[@]}"
}
Так, что мы изучили? "${array[@]}"
к ${array[*]}
что "$@"
к $*
.
Или если Вы не хотите использовать массивы, необходимо использовать eval
:
bar() {
local args=()
for arg in "$@"
do
args="$args \"prefix $arg\""
done
eval foo $args
}
Используйте массивы (одна из скрытых функций в Bash).
Можно использовать массивы, как Вы предполагаете с маленькой измененной деталью. Нечто вызова строки должно читать
foo "${args[@]}"
У меня была проблема с этим слишком также. Я писал сценарий удара для резервного копирования важных файлов на моем компьютере окон (cygwin). Я попробовал подход массива также и все еще имел некоторые проблемы. Не уверенный точно, как я зафиксировал его, но здесь являюсь частями моего кода, которые важны в случае, если это поможет Вам.
WORK="d:\Work Documents\*"
# prompt and 7zip each file
for x in $SVN $WEB1 $WEB2 "$WORK" $GRAPHICS $W_SQL
do
echo "Add $x to archive? (y/n)"
read DO
if [ "$DO" == "y" ]; then
echo "compressing $x"
7zip a $W_OUTPUT "$x"
fi
echo ""
done