A、D弹力产生必须具备两个条件:一是直接接触,二是发生弹性形变.互相接触的物体要发生弹性形变才产生弹力.接触不一定产生弹力.故A错误,D正确. B、弹力的大小与形变量有关,与重力没有直接关系.故B错误. C、压力或支持力属于弹力,方向总是垂直于接触面.故C正确.故选CD