I would write it as this:

    if kid.is_block_like() {
        let block_kid = kid.as_block();
        if block_kid.as_fixed() {
            ...
        } else if block_kid.is_absolutely_positioned() {
           ...
        } else if block_kid.is_positioned() {
            ...
        }
    }

That's a little faster because it avoids all the downcasting.