Я искал решение на весь этот день. И вот те выводы, которые я сделал:
Надеюсь, это поможет! :)
<div style="display: block; width: 100px; height: 20px; overflow: hidden;">
<button style="width: 110px; height: 30px; position: relative; top: -5px; left: -5px;"><a href="javascript: void(0)">Upload File</a></button>
<input type="file" id="upload_input" name="upload" style="font-size: 50px; width: 120px; opacity: 0; filter:alpha(opacity=0); position: relative; top: -40px;; left: -20px" />
</div>
Возврат каретки означает возврат к началу текущей строки без продвижения вниз. Название происходит от каретки принтера, так как мониторы были редкостью, когда было придумано это название. Обычно это обозначается как "\r", сокращенно CR, и имеет ASCII значение 13 или 0x0D.
Linefeed означает переход вниз к следующей строке; однако это понятие было переиспользовано и переименовано. Используемая как "новая строка", она завершает строки (обычно путают с разделяет строки). Он обычно экранируется как "\n", сокращенно LF или NL, и имеет ASCII значение 10 или 0x0A. CRLF (но не CRNL) используется для пары "\r\n".
Подача формы означает продвижение вниз к следующей "странице". Обычно он использовался в качестве разделителя страниц, но теперь также используется в качестве разделителя разделов. (В исходном коде он редко используется для разделения логически независимых функций или групп функций). Текстовые редакторы могут использовать этот символ при "вставке разрыва страницы". Он обычно экранируется как "\f", сокращенно FF, и имеет ASCII значение 12 или 0x0C.
Как управляющие символы, они могут интерпретироваться по-разному.
Наиболее распространенное различие (и, вероятно, единственное, о котором стоит беспокоиться) - строки заканчиваются CRLF в Windows, NL в Unix-подобных системах и CR в старых Mac (ситуация изменилась в OS X, чтобы быть похожей на Unix). Обратите внимание на изменение значения от LF до NL для одного и того же символа, что дает различия между Windows и Unix. (Windows, конечно, новее, чем Unix, поэтому она не приняла этот семантический сдвиг. Я не знаю истории использования CR в компьютерах Mac). Многие текстовые редакторы могут читать файлы в любом из этих трех форматов и конвертировать между ними, но не все утилиты могут это делать.
Форма подачи немного интереснее (хотя и реже используется напрямую), и при обычном определении разделителя страниц он может находиться только между строками (например, после последовательности символов новой строки NL, CRLF или CR) или в начале или конце файла.
Взгляните на Википедию :
Системы, основанные на ASCII или совместимом наборе символов, используют либо LF (перевод строки, '\ n', 0x0A, 10 в десятичном формате) или CR (возврат каретки, '\ r', 0x0D, 13 в десятичном формате) по отдельности или CR, за которым следует LF (CR + LF, 0x0D 0x0A). Эти символы основаны на командах принтера: перевод строки указывает, что одна строка бумаги должна выходить из принтера, а возврат каретки указывает, что каретка принтера должна вернуться в начало текущей строки.
На старых терминалах с принтером для бумаги переход к следующей строке включал два действия: перемещение печатающей головки назад в начало диапазона горизонтального сканирования (возврат каретки) и продвижение рулона бумаги, на котором выполняется печать (перевод строки).
Поскольку мы больше не используем терминалы для печати на бумаге, эти действия больше не актуальны, но символы, используемые для их сигналов, застряли в различных воплощениях.
«\ n» - это символ перевода строки. Это означает конец текущей строки и переход к новой строке для всех, кто ее читает.
Это непечатаемые символы, относящиеся к концепции «новой строки». \ n перевод строки. \ r - возврат каретки. На разных платформах они имеют разное значение относительно действующей новой строки. В окнах новая строка - \ r \ n. В Linux \ n. В Mac \ r.
На практике вы помещаете их в любую строку, и это повлияет на распечатку строки.