Я рекомендую решето, или Решето Эратосфена или Решето Atkin.
решето или Eratosthenes являются, вероятно, самым интуитивным методом нахождения списка начал. В основном Вы:
, Очевидно, существует довольно много оптимизации, которая может быть сделана, чтобы заставить этот алгоритм работать быстрее, но это - основная идея.
решето Atkin использует аналогичный подход, но к сожалению я не знаю достаточно об этом, чтобы объяснить его Вам. Но я действительно знаю, что алгоритм, который я связал, занимает 8 секунд для выяснения всех начал до 1 000 000 000 на древнем Pentium II 350
Исходный код Решета Эратосфена: http://web.archive.org/web/20140705111241/http://primes.utm.edu/links/programs/sieves/Eratosthenes/C_source_code/
Решето Исходного кода Atkin: http://cr.yp.to/primegen.html
Вы можете использовать элементы (html 5), которые пока не поддерживаются некоторыми браузерами. Также вы можете указать резервный стиль.
Многие браузеры создают свои собственные правила CSS для таких вещей, как преобразование текста. С Modernizr вы можете написать одно правило, а Modernizr делает это для нескольких браузеров.
Я думаю, это просто удобство.
Вы совершенно правы, что старые браузеры полностью игнорируют большую часть того, что находится в CSS3.
Из-за этого я использую CSS3 в своих основных селекторах ... но часто использую modernizr классы без функций для обработки старого случая браузера:
div.box {
height:50px;
-moz-box-shadow: 3px 3px 5px #555;
-webkit-box-shadow: 3px 3px 5px #555; }
div.box span.fakeshadow {
display:none;
}
.no-boxshadow div.box span.fakeshadow {
display:block; background: url('fakeshadowbg.png');
}
Надеюсь, это проясняет ситуацию.