我试图扭曲一个div,类似于这个: 使用css倾斜div的顶部而不会扭曲文本 或者:http://tympanus.net/codrops/2011/12/21/slopy-elements-with-css3 /
这是我想要做的事情的图像:

基本上,我需要在所有四个方面以奇怪的方式倾斜边界.我可以用背景图像做到这一点,但我更喜欢用CSS做一些方法,所以div可以在宽度和高度上做出响应.我想找到一个适用于旧浏览器的解决方案,但我知道我不能拥有一切!
在所有4个边上都有倾斜边框的最佳方法是什么?(注意:绿色框底部的边框在中间向下倾斜,在外部向下倾斜,我不需要边框就可以做到这一点.只需向一个方向倾斜即可.)
我正在尝试调用一个类函数来创建一个子类的新实例.
我在foreach循环中执行此操作,并为子类名和参数使用以下变量:
$classname = 'Element_Radio';
$classargs = array( $a, $b ); //Might have up to 4 arguments
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试执行的原始代码行,没有任何上述变量:
$form->addElement(new Element_Radio($required, $required, $optional_array, $optional_array);
Run Code Online (Sandbox Code Playgroud)
所以首先我试过:
$form->addElement( new $classname ($classargs) );
Run Code Online (Sandbox Code Playgroud)
但我想我需要这样的东西:
$form->addElement( call_user_func_array(new $classname,$classargs) );
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,我都会遇到以下错误:
"警告:缺少Element :: __ construct()的参数2 ......"
所以看起来这些参数作为一个数组变量传入,而不是单独传递.
我最后编写了一堆if语句,只是根据值来调用函数$classargs,但是我想知道是否有一种编程方式在没有IF的情况下做我想做的事情.
编辑 - 我添加的代码的解决方案,因为我的参数数组是一个没有所有数字索引的多维数组.splat运算符(...)仅适用于带有数字索引的数组.
$classname = 'Element_Radio';
$classargs = array();
if ( isset( $a ) ) { array_push($classargs, $a); }
if ( isset( $b ) ) { array_push($classargs, $b); }
if ( isset( $c ) ) { …Run Code Online (Sandbox Code Playgroud)