widthやheightより、最小値を指定するmin-widht、min-heightが優先されます。例えば、最小の幅をmin-widht:60px;と指定し、通常の幅をそれより小さいwidth:30px;と設定すると、設定が矛盾しますが、min-widht:60px;が優先されます。
img要素の消せない枠線
リンクにもなっていないような単純なimg要素において、表示されるグレーの枠線は非常にやっかいです。このグレーの枠線を、ここでは仮に、空img枠線と呼びます。この空img枠線は、画像の指定がされておらず、サイズがゼロではないimg要素に現れます。
HTML要素の枠線の候補としては、内から外の順にborder、outline、box-shadowがありますが、これらと同時に表示することが出来るため、空img枠線はこれらのどれでもないことがわかります。
Windows 10のGoogle Chrome、Microsoft Edge、Mozilla Firefoxなどで表示され、細いグレーという外見も共通で、特定のブラウザのみの現象ではないようです。表示位置は特に複雑で、ChromeやEdgeではborderのさらに内側、すなわち最も内側に表示され、Firefoxでは、borderとoutlineの間に表示されます。
ブラウザ共通の空img枠線の消し方は、無理矢理ながら存在しています。現時点では、純粋な消し方を見つけられていません。もっとも簡単なのは、画像が指定されていないときimg要素のサイズをゼロにすることです。border、outline、box-shadowはimg要素サイズをゼロにしても消えないのですが、空img枠線は消えます。Firefoxではoutlineとborderの間、すなわち最も内側ではない位置に空img枠線は存在するのすが、この方法は有効です。1ドットのような極小サイズで表示されるわけでもないようです。
また、画像がないにもかかわらず、img要素のサイズがゼロでは困るということは、ただの静的ページの部品ではないでしょう。JavaScriptなどのプログラムによって画像を特定の位置に表示するための部品と思われます。それなら、img要素にこだわる必要はなく、サイズを指定したdiv要素が使用可能です。divobjにimg要素が代入されているなら、以下のようなJavaScriptコードにより、divobjの背景として画像を表示することが出来ます。
divobj.style.backgroundImage = url("<画像ファイルURL>");