我正在尝试将CSS动画应用于多个div元素,如以下HTML代码所示:
group_pnum | group_id |widget_pnum | widget_id
=======================================|===============
90042 | 2103 | 11681 | 304
其中container-frame是div元素的框架,borderblinker是为这些边框执行动画所需的css。
以下是我正在为每个元素申请的CSS样式。
sqlite> select * from widget_grps where group_id is null or group_id ='';
sqlite> select * from widget_grps where member_id is null or member_id='';
sqlite>
正确应用边框样式,但div元素不会闪烁。知道可能是什么问题吗?
答案 0 :(得分:1)
您忘记设置"动画持续时间"。
但是还有一些不清楚的代码:
问题是班级"容器框架"。 因为你的div不仅是一个div,而且还有类" container-frame",它有一个固定的边框样式和边框颜色。即使你为标签定义了一个动画" div"在下面,由于级联顺序,类选择器获得优先级。类优先于标记选择器。
http://monc.se/kitchen/38/cascading-order-and-inheritance-in-css
您可以通过使用类选择器而不仅仅使用标记选择器来定位动画div来解决问题:
div.container-frame{
animation-name: borderblinker;
animation-timing-function: step-end ;
animation-iteration-count: infinite ;
animation-direction: alternate ;
}
答案 1 :(得分:1)
当我从容器框架中删除边框颜色时,问题就解决了。感谢@KevDev
class Config{
public static $vowels = 'aeiou';
public static $vowelTermination = "way";
public static $consonants = 'b-df-hj-np-tv-z';
}
class Piglatin
{
public function convert($input)
{
$return = "";
$wordArray = explode(" ", $input);
foreach($wordArray as $word){
$return .= $this->translate($word);
$return .= " ";
}
return rtrim($return);
}
public function translate($input)
{
$translation = "";
if(!empty($input)){
if(is_numeric($input)){
return $input;
}
if($this->startVowel($input)){
$input = $input . Config::$vowelTermination;
return $input;
}
if($this->startConsonant($input) && strlen($input)===1 ){
return $input.'ay';
}
if($this->startConsonant($input)){
$input = preg_replace('/^([b-df-hj-np-tv-xz]*)([aeiouy].*)$/', "$2$1ay", $input);
return $input;
}
}
return $translation;
}
public function startVowel($input)
{
$regex = '/^['.Config::$vowels.']/i';
if(preg_match($regex, $input)){
return true;
}
return false;
}
public function startConsonant($input)
{
$regex = '/^['.Config::$consonants.']/i';
if(preg_match($regex, $input)){
return true;
}
return false;
}
}