分配给多个类时,无法使用CSS为div元素设置动画

时间:2017-03-01 19:53:02

标签: html css

我正在尝试将CS​​S动画应用于多个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元素不会闪烁。知道可能是什么问题吗?

2 个答案:

答案 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;
}
}